http и https на одном севере

Vsevolod Balashov vsevolod.balashov at gmail.com
Thu Jan 18 00:36:15 MSK 2007


Здравствуйте!

был у меня на 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. или
может можно выделить как то общую часть?

пробовал писать
listen 80;
ssl off;
listen 443;
ssl on;
ругается...

очень надеюсь на мудрость коллективного разума.

Всеволод.


More information about the nginx-ru mailing list