ФорумРазработкаУстановка и администрирование ПОВебсервер → nginx listen both 80 and 443

nginx listen both 80 and 443

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 16 августа 2015 г. 20:08

    В современной версии nginx можно совместить конфиг для http и https версий сайта. Типа:

    
    server {
        listen              80;
        listen              443 ssl;
        server_name         www.example.com;
        ssl_certificate     www.example.com.crt;
        ssl_certificate_key www.example.com.key;
        ...
    }
    

    Очевидно ssl_certificate* просто не имеет значения в контексте http.
    Но вот как использовать одну секцию server и на 80 и 443 и при этом изолировать fastcgi_param только для https ? :

    
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;
    

    Помогайте, а то я не могу допетрить своим умом.

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 августа 2015 г. 20:26, спустя 18 минут 2 секунды

    fastcgi_param   HTTPS               $https;
    

    ты про это?

    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 17 августа 2015 г. 11:43, спустя 15 часов 17 минут

    @phpdude, видимо да :) спасибо! теперь зная что гуглить, нашел в родных доках пример

    fastcgi_param HTTPS           $https if_not_empty;
    

    видимо так ещё правильнее. оно работает!

    Непонятно почему вот это НЕ работает, т.е. переменная (в PHP $_SERVER) не видна:

    fastcgi_param HTTP_SCHEME  $scheme;
    

    Доки nginx и множество примеров говорят, что в nginx есть такая переменная $scheme, прям загадка.
    nginx version: nginx/1.2.1
    Debian 7

    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 17 августа 2015 г. 11:55, спустя 11 минут 40 секунд

    Всё, вопрос снят ))) Это я тупанул, не в то место вставил )))
    Правильное место: /etc/nginx/fastcgi_params который уже отовсюду подключается.

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 17 августа 2015 г. 14:43, спустя 2 часа 48 минут 22 секунды

    Всё, вопрос снят ))) Это я тупанул, не в то место вставил )))
    Правильное место: /etc/nginx/fastcgi_params который уже отовсюду подключается.

    @artoodetoo, конечно. Ок, разобрался и молодец.

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!