В этом случае location / просто дублируется. У меня его
настройки тоже полностью совпадают, поэтому я вынес их
в файл foo.conf:
server {
listen 80;
include foo.conf;
}
server {
listen 443;
ssl on;
include foo.conf;
}
Как теперь в foo.conf добавить проверку HTTPS?
Нашёл упоминание о нём разве что в Referer:
set $https "off";
if ($http_referer ~ "^https://") {
set $https "on";
}
fastcgi_param HTTPS $https;
Однако, реферера может не быть, или он сознательно
ссылается с http-страницы на https- .
Можно так, но будет чуть медленее:
server {
listen 80;
set $https NO;
include foo.conf;
}
server {
listen 443;
ssl on;
set $https YES;
include foo.conf;
}
foo.conf:
...
fastcgi_param HTTPS $https;
Игорь Сысоев
http://sysoev.ru