Я использую L7 HTTP Load Balancer. Я хочу перенаправить HTTP-запросы на HTTPS. Это часть моей конфигурации nginx. Он работает, когда я получаю доступ к моему веб-серверу без Load Balancer. Но он не работает с Load Balancer. Ошибка 404.Как перенаправить HTTP-запросы на HTTPS с GCP Load Balancer
Как это исправить?
Я использую Nginx
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
...
}
HTTP Response
HTTP/1.1 404 Not Found
Server: Google Frontend
Я нашел этот вопрос ниже, и я добавил $ http_x_forwarded_proto проверить. Но результат не изменился.
Issue 255: Перенаправление всего HTTP трафика HTTPS при использовании HTTP (S) Load Balancer https://code.google.com/p/google-compute-engine/issues/detail?id=255&thanks=255&ts=1446612833
server {
listen 80;
server_name example.com;
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
...
}
Update 1
я обнаружил, что моя балансировка нагрузки имеет только HTTPS протокол конечная конфигурация. Я думаю, мне нужна настройка конца HTTP-порта.
Это сообщение ниже было бы полезно.
GCE Load Balancer HTTPS and HTTP IP
Вы когда-нибудь могли решить эту проблему? Если да, пожалуйста, подумайте о том, чтобы отправить ответ самостоятельно, чтобы сообщество могло извлечь выгоду. – Faizan