https + reverse proxy + закрыающий слеш
Siava
nginx-forum на forum.nginx.org
Ср Дек 12 10:45:14 UTC 2018
Второй день ломаю голову.
Используется reverse proxy схема. Сайт работает по https. Все запросы на
http перенаправляются на https. На сайте есть каталог.
Если в запросе к каталогу не указывать закрывающий слеш, то происходит два
редиректа:
1. сначала на сайт с http с тем же путём но с закрывающим слешем
2. а после обратно на https с закрывающим слешем.
Как сделать, чтобы редирект вёл сразу на https с закрывающим слешем?
В качестве примера создал поддомен, где это можно посмотреть.
https://apstenu.siava.ru/test > http://apstenu.siava.ru/test/ >
https://apstenu.siava.ru/test/
Редиректы проверял с помощью сервисов
https://showredirects.com/
http://www.redirect-checker.org/
Конфиг reverse proxy:
http {
...
server {
listen 80;
server_name apstenu.siava.ru;
return 301 https://apstenu.siava.ru$request_uri;
}
server {
listen 443 ssl http2;
server_name apstenu.siava.ru;
include /etc/nginx/ssl-siava.ru;
access_log off;
location / {
proxy_pass http://192.168.0.2;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
Конфиг backend-сервера 192.168.0.2:
server {
listen 80;
server_name apstenu.siava.ru;
access_log off;
log_not_found off;
root /home/apstenu.siava.ru;
location / {
try_files $uri $uri/ =404;
index index.jpg;
}
location ~* ^.+\.(jpg|htm)$ {
expires 30d;
}
}
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,282360,282360#msg-282360
Подробная информация о списке рассылки nginx-ru