http и https на одном севере
Igor Sysoev
is at rambler-co.ru
Thu Jan 18 10:35:51 MSK 2007
On Thu, 18 Jan 2007, Vsevolod Balashov wrote:
> был у меня на 0.4.х такой замечательный конфиг:
На 0.4.х по идее это тоже не должно было работать.
> server {
> listen 80;
> listen 443;
> ssl on;
> ssl_certificate /etc/nginx/cert.pem;
> ssl_certificate_key /etc/nginx/cert.key;
> ssl_protocols SSLv2 SSLv3 TLSv1;
> ssl_ciphers
> ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
> ssl_prefer_server_ciphers on;
>
> server_name example.com;
>
> root /var/www;
> index index.html;
> location /admin/ {
> if ($server_port = 80) {
> rewrite ^\/(.*)$ https://$server_name/$1 permanent;
> }
> }
> location / {
> if ($server_port = 443) {
> rewrite ^\/(.*)$ http://$server_name/$1 permanent;
> }
> }
> }
>
> таким образом я админку защищал самоподписаным сертификатом от разных
> любопытных товарищей. и все работало. а 0.5.7 на любые http запросы
> отвечает исключительно "400 Bad Request The plain HTTP request was
> sent to HTTPS port"
>
> 80 порт он похоже тоже как ssl открыл :( как побеждать? 2 раза server?
> ломает дублировать - очепяток наделаю даже с копипасте, ибо в отличие
> от этого учебного конфига в реальном еще много всего про fastcgi. или
> может можно выделить как то общую часть?
include.
> пробовал писать
> listen 80;
> ssl off;
> listen 443;
> ssl on;
> ругается...
Уже не в первый раз у меня возникает ощущение, что пришло поколение админов,
которые не настраивали SSL в mod_ssl, не говоря уже об Apache-SSL,
а занялись этим сразу в nginx'е. Иначе бы таких вопросов не возникало.
Может быть, действительно сделать
server {
listen 80;
listen 443 default ssl;
...
location /some/ {
if ($ssl = "") {
...
}
}
?
Правда, я пока не вижу, есть ли здесь какие-нибудь подводные камни.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list