我正在开发一个使用强制HTTPS导航的新项目,我们需要显示内容不是HTTPS的iframe。
问题来自于Nginx,我强迫使用HTTPS并重定向任何请求。
我想在URL demo.html的重写中添加一个“例外”,我不知道如何正确地做到这一点,任何帮助都非常感激。感谢
这是我们的Nginx配置文件:
server {
listen 80;
listen [::]:80;
server_name
www.domain.com
domain.com
;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl spdy;
listen [::]:443 ssl spdy;
server_name
www.domain.com
domain.com
;
### redirect www to no www with client code 301 ###
if ($host = 'www.domain.com') {
rewrite ^/(.*)$ https://domain.com/$1 permanent;
}
root /srv/users/public;
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_set_header X-Forwarded-SSL on;
proxy_set_header X-Forwarded-Proto $scheme;
}
index index.php;
# Don't serve hidden files.
location ~ /\. {
deny all;
}
location /
{
try_files $uri /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param KOHANA_ENV PRODUCTION;
fastcgi_pass 127.0.0.1:2222;
try_files $uri =404;
}
答案 0 :(得分:1)
最后,我将禁用所有的HTTPS重定向,并允许在没有HTTPS的情况下进行浏览。
所以我做的是强制主页为HTTPS,其余的链接I打印它们总是HTTPS,除了我需要的不使用HTTPS。我这样做了:##我们只强制HTTPS进入主页,但如果他们愿意,我们允许不使用HTTPS进行浏览。
## we only force the HTTPS to the home page but we allow to browse without HTTPS if they want to.
if ($request_uri = /) {
set $test A;
}
if ($scheme = 'http') {
set $test "${test}B";
}
if ($test = AB) {
rewrite ^/(.*)$ https://yclas.com/$1 permanent;
}
## END if Hack