【发布时间】:2017-06-03 02:50:36
【问题描述】:
我通过startssl 认证将我的网站升级到https。 但是 Safari 不信任startssl 认证。 所以,我考虑设置 nginx,如果是 http,并且 UserAgent 不包含 iPhone/iPad,则 301 重定向到 https。(意思是,其他浏览器将 301 到 https。) 这是我试过的:
server {
listen 80;
listen 443 ssl;
server_name abc.com alias abc.com;
ssl_certificate D:\cert\1_abc.com_bundle.crt;
ssl_certificate_key D:\cert\abc.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ($scheme = http) && if ($http_user_agent !~* iPhone|iPad) {
return 301 https://$host$request_uri;
}
location / {
root D:/www;
index index.html index.htm default.html default.htm index.php;
include D:/www/up-*.conf;
}
========或==========
if ($scheme = http && $http_user_agent !~* iPhone|iPad)
========或==========
但是两者都没有效果。
【问题讨论】:
标签: ssl nginx https safari ssl-certificate