Welcome! Log In Create A New Profile

Advanced

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

December 11, 2013 03:45PM
Maxim Dounin Wrote:
-------------------------------------------------------
> > Согласитесь, N количество блоков server {} и N количество блоков
> location
> > {} проще изменить, меньше вероятности допустить ошибки и понимать
> легче, чем
> > N*2 количество блоков server {} и N*2 количество блоков location {}
> > сделанных отдельно для http и для https.
>
> Не соглашусь. Проще менять то, что само по себе просто. А
> вероятность допустить ошибку - гораздо выше при редактировании
> сложного конфига. Количество - не так важно, и принципиального
> значения не имеет.
>
> Ну и не следует забывать, что все эти попытки "сокращения"
> конфигурации обычно выливаются в множество лишней работы при
> обработке запросов. На всякий случай я оставлю эту ссылку здесь:
>
> http://nginx.org/en/docs/faq/variables_in_config.html


Я с вами тоже тут не соглашусь, т.к. конфиг вида:
server {
listen 80;
listen 443 ssl;
...
include app;
...
}

файл app:
location / {
...
proxy_pass $schema://upstream:;
...
}
Очень простой и то, что вы написали "А вероятность допустить ошибку - гораздо выше при редактировании сложного конфига" тут несколько не уместно, т.к. вы правильно написали чуть выше "само по себе просто" и эти слова очень подходят для данной конфигурации.

Не ясна тогда возможность указывать в директивы в одном блоке server {}
server {
listen 80;
listen 443 ssl;
С ваших слов получается - если удается заставить проксировать по схеме http->http + https->http то можно использовать такую конструкцию, в остальном - ее использовать не правильно, и нужно плодить блоки server{} и location{}.
Я не утверждаю, что именно так вы сказали, это лишь вывод который сделал я на основе ваших наводок.

И конфиг выше уж точно проще чем этот конфиг (как минимум с точки зрения внесения правок, минимизации ошибок, да и не только этого):

server {
listen 80;
...
include app;
...
}

файл app:
location / {
...
proxy_pass http://upstream:;
...
}

server {
listen 443 ssl;
...
include apps;
...
}

файл apps:
location / {
...
proxy_pass https://upstream:;
...
}
Даже с точки зрения "множество лишней работы при обработке запросов" в данном случае:
1сервер+1локейшен(в одном файле)+одна доп. переменная $schema может быть проще в обработке чем 2сервера+2локейшена(в 2х файлах) и в место одной переменной статика в виде http и https.
Это только мысли в слух, они ничем не подтверждены, таких тестов я пока не делал и в серьез их сейчас конечно воспринимать не нужно, но и отказываться от них еще рано.

Максим, вы не подумайте что я вас не понимаю, прекрасно понимаю, но хотелось бы найти решение для вопроса который я озвучивал ранее и был бы признателен за помощь:
как проксировать одно приложение по http и https в одном блоке server {} и одном блоке location {} (без дублей), учитавая, что приложение на бэкэенде может быть доступно как в корне так и по контекстному пути, а порты отличаются от 80 и 443.
Subject Author Posted

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

mnsold December 11, 2013 06:04AM

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

Maxim Dounin December 11, 2013 09:16AM

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

mnsold December 11, 2013 10:06AM

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

mnsold December 11, 2013 10:23AM

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

Anton Kiryushkin December 11, 2013 10:30AM

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

mnsold December 11, 2013 10:41AM

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

Andrey Oktyabrskiy December 11, 2013 11:44AM

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

mnsold December 11, 2013 12:08PM

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

Maxim Dounin December 11, 2013 10:36AM

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

mnsold December 11, 2013 11:58AM

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

Maxim Dounin December 11, 2013 01:24PM

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

mnsold December 11, 2013 03:45PM

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

Maxim Dounin December 11, 2013 07:36PM

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

Gena Makhomed December 11, 2013 02:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 275
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready