Назад | Перейти на главную страницу

проблема с перезаписью http на https с nginx за балансировщиком нагрузки (ELB)

У меня настоящая проблема с переписыванием моего HTTP на HTTPS в nginx.

Это та же проблема, что и переписать http на https с ngnix за балансировщиком нагрузки

Однако я бы сказал, что моя проблема в том, что решение не работает.

Моя конфигурация:

server {
    listen 80;

    server_name myserver.com *.myserver.com;

    location /health-check {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_next_upstream error;
      proxy_pass http://localhost:8080;
      break;
    }


    location / {

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_next_upstream error;

        # 2) Any request that did not originally come in to the ELB
        #    over HTTPS gets redirected.
        if ($http_x_forwarded_proto != 'https') {
            return 301 https://$server_name$request_uri;
        }

        proxy_pass http://localhost:8080;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;";
    }
}

В этой конфигурации запрос на www.myserver.com должен быть перенаправлен с 301 на https://www.myserver.comно это не так.

Любая помощь очень ценится.