Столкнулся со странной проблемой. Имеем конструкцию форума, которая должна работать только через https:
[code]
server {
listen 1.2.3.4:443;
server_name forum.domain.com;
root /usr/local/www/forum.domain.com/public_html/;
ssl on;
ssl_certificate /etc/nginx/ssl/forum.crt;
ssl_certificate_key /etc/nginx/ssl/forum.key;
server_name_in_redirect on;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
index index.php;
location ~* \.php$ {
proxy_pass http://127.0.0.1:8081;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 30;
proxy_read_timeout 30;
}
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
root /usr/local/www/forum.domain.com/public_html/;
expires modified +12h;
}
[/code]
Все запросы по http редиректятся так:
[code]
server {
listen 1.2.3.4:80;
server_name forum.domain.com;
rewrite ^(.*) https://$host$1 permanent;
}
[/code]
Nginx скомпилен с опцией --with-http_ssl_module, но такое ощущение, что ssl работает как-то не так. Делаем запрос на форум вида http://forum.domain.com и получаем в ответе 301 редирект на https. Далее IE спрашивает, загружать только защищенное содержимое или и не защищенное. Вопрос каким образом тут вообще может возникнуть незащищенное соединение ? В общем если загружать только защищенное, то грузится только часть страницы, логин не проходит. Что я делаю не так ?