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'ем тоже в процессе понимания, но пока безрезультатно.
Тут я с Вами солидарен - тратить ресурсы на шифрование без необходимости ни к чему.