OS Debian x64
[code]
server {
listen 80;
server_name *.domain.com domain.com;
location / {
if ( $scheme = 'http' ) {
rewrite ^/(.*) https://$host/$1;
}
}
server {
listen 443;
server_name www.domain.com domain.com;
access_log /var/log/nginx/access-ssl.log;
error_log /var/log/nginx/error-ssl.log;
ssl on;
ssl_certificate /etc/ssl/certs/domain.com.crt;
ssl_certificate_key /etc/ssl/certs/domain.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location ~*\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/domain.com;
}
location / {
root /var/www/domain.com;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com$fastcgi_script_name;
include fastcgi_params;
}
}
[/code]
Вот с таким конфигом, при заходе на domain.com браузер говорит, что есть небезопасное содержимое на сайте, и не обеспечивает защищенного соединения с сайтом. На сайте точно нет внешнего содержимого (по крайней мере не везде).
На другом сервере с apache всё нормально было.
Когда заходишь с IE8, браузер спрашивает "Отображать ТОЛЬКО безопасное содержимое?". Если ответить НЕТ, то сайт отображает весь, а если ответить ДА, то отображается только текст, без стилей, картинок и прочей статики.
Следовательно складывается такое впечатление, будто что-то не так с реврайтами, и всё содержимое на сайте сидит под http://domain.com/$1, в то время, как сам сайт на https. Все ссылки на сайте, которые указаны от корня идут на http во время ssl соединения.
Помогите разобраться, пожалуйста.