Re: Проксирование http и https в одном конигурационном файле, на порты отличные от 80 и 443

mnsold nginx-forum at nginx.us
Wed Dec 11 15:06:45 UTC 2013


Maxim Dounin Wrote:
-------------------------------------------------------
> Для начала имеет смысл понять две простые вещи:

> 1) Весь конфиг nginx'а может быть записан в одном файле, 
> nginx.conf.  Все попытки разделения на множество маленьких 
> файликов по доменам - это лишь средство для упрощения 
> автоматизации, обычно применяемое в линуксе.  Если вам хочется 
> записать всё в "одном конфиге" - просто напишите всё в nginx.conf, 
> и с головой будет в порядке.

Упрощение автоматизации в виде разделения на множество маленьких файликов
очень удобно, это и использую, писать в кучу все в nginx.conf крайне не
хочется, т.к. потом будет сложно разгребсти.

> 2) Несколько блоков server{} в рамках одного nginx.conf - это 
> нормально, и это хороший, годный способ писать простую 
> конфигурацию.  Если у вас два разных виртуальных сервера, которые 
> обрабатываются по разному - напишите для них разные блоки 
> server{}, и с головой будет в порядке.

Разные блоки  server{} не страшны, страшно от дублирования location {}, т.к.
в nginx будет достаточно много приложений доступных на разных контекстных
путях, сами приложения крутятся на рядом стоящих серверах, что-то еще
крутится и на локальном сервере с nginx.

Вот эта ситуация как раз и не нравится, т.к. location для http и https нужно
прописывать несколько раз, а при условии, что писать придется много,
дублирования одного и тогоже с заменой http на https уж очень не хочется :
>     server {
>         listen 80;
> 
>         location / {
>             proxy_pass http://upstream;
>         }
>     }
> 
>     server {
>         listen 443 ssl;
> 
>         location / {
>             proxy_pass https://upstream;
>         }
>     }

> Отдельный вопрос - для чего в рамках одного сервера гонять трафик 
> по SSL, тратя ресурсы на шифрование, но это уже скорее из области 
> философии.

Проксирование конечно не только в рамках одного сервера, как я написал
выше.
Конечно, весь локальный трафик можно считать доверенным, но не все
получается проксировать по схеме:
внешний доступ по https -> локальный трафик между серверами по http.
Правда в отдельных случаях нужно и между серверами https гонять, такое уж
требование и от него никуда не уйти, благо что таких сервисов не так много.
По схеме https->http получилось проксировать апач, а вот glassfish не
получилось проксировать, на стороне пользователя теряется часть внуренних
объктов приложения и интерфейс работает не полностью, т.е. часть содержимого
в интерфейсе просто не видно (ну и еще по мелочи), хотя точно знаю что оно
есть, т.к. без прокси все работает как надо и работает если проксирование
сделано по схеме https->https.

Почему не работает https->http с glassfish'ем тоже в процессе понимания, но
пока безрезультатно. 
Тут я с Вами солидарен - тратить ресурсы на шифрование без необходимости ни
к чему.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,245412,245425#msg-245425



Подробная информация о списке рассылки nginx-ru