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