ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Проксирование http и https в одном конигурационном файле, на порты отличные от 80 и 443
  • From: "mnsold" <nginx-forum@xxxxxxxx>
  • Date: Wed, 11 Dec 2013 15:45:17 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=CZSqexfE7JnGCsd7VRtSuOPCTxMy1acrJ3xnI4MKKMo=; b=N82VE5sLdQccx6EDsN0MoXwC5CBzORgkkm2HvjnIJGr/4lwMqiDf0T4f06EuBVUN3WJ8soehW4UoGnuIHcl2gWuzNEfK/K8BpI2+orCMqBrhrekH+nYkiXeg/154zAZ3uDC54kk8T4AmBJ7r9oJL6YCfJaWYxGVCM2WZF5z5Ifc=;
  • In-reply-to: <20131211182204.GD95113@mdounin.ru>
  • References: <20131211182204.GD95113@mdounin.ru>

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.

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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.