Второй день ломаю голову.
Используется 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_headerHost$host;
proxy_set_headerX-Real-IP
$remote_addr;
proxy_set_headerX-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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru