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