Генерируйте HTTPS-ссылку, когда позади Балансировщика Нагрузки, который завершает SSL - PullRequest
0 голосов
/ 12 апреля 2020

Моя настройка, как показано ниже: -

  1. LB (что завершает SSL)
  2. LB, а затем перенаправить запрос в мое приложение через порт 80

Nginx не знал, что он стоит за балансировщиком нагрузки. На данный момент все относительные href в моем состоянии c HTML, например, <a href="/about-us">About Us</a>, будут ссылаться на http://server/about-us

Мой ожидаемый результат для Nginx - установить / принудительно установить все ссылки на HTTPS. Мое приложение - файл Nuxt. js stati c, созданный с использованием генерации nuxt.

My Nginx conf, как показано ниже: -

server {
    listen 80;
    server_name _;
    root /www/data/html;

    index index.html index.htm;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.html;

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Редактировать: я заметил сгенерированный href хорошо с https. Но когда href не содержит завершающего sla sh, сервер попытается добавить, используя правила try_files. В этот момент он добавит завершающий sla sh, но изменил схему на http, поскольку Nginx обслуживает запрос http (не https)

Thx.

...