How to detect https?

Grigory Batalov bga at tepkom.ru
Thu Mar 16 17:19:52 MSK 2006


On Thu, 16 Mar 2006 16:45:41 +0300 (MSK)
Igor Sysoev wrote:

>      server {
>          listen 80;
> 
>          location / {
>              fastcgi_pass ...
>              fastcgi_param  HTTPS  NO;
>          }
>      }
> 
>      server {
>          listen 443;
>          ssl    on;
> 
>          location / {
>              fastcgi_pass ...
>              fastcgi_param  HTTPS  YES;
>          }
>      }

  В этом случае 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- .

-- 
 Григорий Баталов,
 программист
 ЗАО "Ланит-Терком"





More information about the nginx-ru mailing list