Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Настроить HTTP и HTTPS на одном сервере
- To: nginx-ru@xxxxxxxxx
- Subject: Настроить HTTP и HTTPS на одном сервере
- From: "mnsold" <nginx-forum@xxxxxxxx>
- Date: Mon, 09 Dec 2013 04:24:24 -0500
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=H/Osct7OdCkqnkWIPd5wJihIK8yRRglnegFVDt44ePs=; b=upOdWN57Djvnk1HiivDdwYLYrfIPI7u5clh4/0F0t4sUfz1Ocl3knB+PCkebgKQEU7hUOYjY0w9H5aZHyPQQyxEGNQVMPvkY6P+LJkklGVGYMhIZMlCt4H6WQG/wy9hJiMSJo/pI3uEpgZzvUT4ae1v2CkB1csdTBYq8ZiywCX8=;
Основная проблема: по HTTPS перенаправляет на HTTP протокол, вместо HTTPS.
По HTTP все отрабатывает нормально.
Локальный сетевой трафик хочется по HTTP гонять (и проблемы видимо отсюда и
растут), чтобы не нагружать сервер, да и весь локальный трафик между
серверами считаю доверенным.
В качестве бэкэнда стоит апач.
Само перенаправление (без слэша в конце), как оно проиходит.
Тут все нормально:
http://myhost/context -> http://myhost/context/
А вот тут перенаправляет на HTTP, вместо HTTPS
https://myhost/context -> http://myhost/context/
Подскажите, как нужно поправить конфиг, чтобы перенаправлял на HTTPS, при
условии что хочется внутренний трафик гонять по HTTP?
Конфиги:
server {
listen *:80;
listen *:443 ssl;
server_name myhost;
ssl_certificate /.../server.crt;
ssl_certificate_key /.../server.key;
ssl_protocols SSLv2 SSLv3;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_verify_client off;
include conf.d/test-apache.cfg;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log main;
}
Файл test-apache.cfg
location ^~ / {
proxy_pass http://localhost:80;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Замечено, что если в proxy_pass отправлять по https то все работает
нормально, например:
в файле test-apache.cfg заменить
proxy_pass http://localhost:80;
на
if ( $scheme = "http" ) {
proxy_pass http://localhost:80;
}
if ( $scheme = "https" ) {
proxy_pass https://localhost:443;
}
На стороне апача на данный момент все предельно просто
Alias /context "/var/www/context"
<Directory "/data/web/statistica">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,245346,245346#msg-245346
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|