force-ssl.conf 731 B

1234567891011121314151617181920212223242526272829303132
  1. set $test "";
  2. if ($scheme = "http") {
  3. set $test "H";
  4. }
  5. if ($request_uri = /.well-known/acme-challenge/test-challenge) {
  6. set $test "${test}T";
  7. }
  8. # Check if the ssl staff has been handled
  9. set $test_ssl_handled "";
  10. if ($trust_forwarded_proto = "") {
  11. set $trust_forwarded_proto "F";
  12. }
  13. if ($trust_forwarded_proto = "T") {
  14. set $test_ssl_handled "${test_ssl_handled}T";
  15. }
  16. if ($http_x_forwarded_proto = "https") {
  17. set $test_ssl_handled "${test_ssl_handled}S";
  18. }
  19. if ($http_x_forwarded_scheme = "https") {
  20. set $test_ssl_handled "${test_ssl_handled}S";
  21. }
  22. if ($test_ssl_handled = "TSS") {
  23. set $test_ssl_handled "TS";
  24. }
  25. if ($test_ssl_handled = "TS") {
  26. set $test "${test}S";
  27. }
  28. if ($test = H) {
  29. return 301 https://$host$request_uri;
  30. }