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