https中的301重定向www.a.com到不带a.com的问题
server{
listen 80;
#listen [::]:80;
server_name a.com www.a.com ;
return 301 https://a.com$request_uri;
}
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name a.com ;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/a.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/a.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/a.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
include wordpress.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log off;
}
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name www.a.com ;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/a.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/a.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/a.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
return 301 https://a.com$request_uri;
http能顺利重定向到https的a.com,但是不管怎么改https的那个重定向www.a.com到a.com的里面的代码,包括放到前面,放到后面,把所有的SSL相关的东西都放进去,以及把a.com里面的所有内容放进去,在IE跟Safari上面访问都会不被信任。
网上也查了很多资料,但是似乎都对我没用...搭建的网站是wordpess,并且是在lnmp创建host的时候直接选择的添加SSL,不知道是不是这个问题。 wordpress 程序的本身就自带301,如果用 a.com 安装的,绑定的www.a.com 域名访问时会自动 301 到 a.com
不信任的问题,没有具体IE版本和win版本信息没法说,xp上的话是肯定不行的
回复 2# 的帖子
军哥,wordpress是会自动跳转,以前有个wp搭建的是绑定的www.b.com,用301跳转http跟不带www的到https的www.b.com,不会提示证书不受信任的问题,b网站是先用lnmp添加了网站,网站搭建好了之后才添加的SSL。Windows版本是1703,IE11,Edge,Safari都会提示此网站不安全,要求点确认才能继续访问。Chrome倒是不会提醒,直接就跳转到a.com了。
网上说curl可以测试什么之类的,我也不是太了解...就试了下,http的都成功显示301,https a.com也会显示内容。
curl -l https://www.a.com
会报错:
curl: (51) SSL peer certificate or SSH remote key was not OK
似乎说的是证书不正确,但是我只是把 nginx里面 a.com的配置复制过去了而已啊,也没有改证书之类的。
SH不正确,个人感觉应该不是。
然后就有点懵了。 不清楚你生成证书时如果只输入了 a.com 的话肯定没 www.a.com 的证书肯定就显示不受信任
回复 4# 的帖子
:L我放弃了...怎么改都不对...-0- 防止再出现...重新重装系统了....重新试试...
页:
[1]