VPS侦探论坛

 找回密码
 注册
查看: 3284|回复: 2

lnmp1.4使用https,301跳转有个小疑问

[复制链接]
发表于 2017-3-1 09:30:38 | 显示全部楼层 |阅读模式

lnmp1.4使用https,301跳转有个小疑问假设域名为abc.com

abc.com跳转到www.abc.com这样做没问题:
server
    {
        listen 80;
        #listen [::]:80;
        server_name www.abc.com;
……

}

server
    {
        listen 80;
        #listen [::]:80;
        server_name abc.com;
        return 301 http://www.abc.com$request_uri;
}


现在的情况是我需要把abc.com、www.abc.com、https://abc.com这三种情况都跳转到https://www.abc.com,于是我这样写
server
    {
        listen 80;
        #listen [::]:80;
        server_name abc.com;
        return 301 https://www.abc.com$request_uri;
}


server
    {
        listen 80;
        #listen [::]:80;
        server_name www.abc.com;
        return 301 https://www.abc.com$request_uri;
}


server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name www.abc.com;
        index index.html index.htm index.php default.html default.htm default.php;


……
}

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;

        server_name abc.com;
        return 301 https://www.abc.com$request_uri;
}


发现最后这个https://abc.com跳转到https://www.abc.com实现不了,似乎是443端口的server_name abc.com;并不是https://abc.com,跳转失败,虽然一般是直接输入域名,很少有人会输入https://abc.com来访问,但还是有点担心。
我装的wordpress,本来就可以自动跳,去掉最后这个后访问https://abc.com会跳转到https://www.abc.com,但可能是跳转了两步,感觉效率比nginx直接跳转慢一些。所以请大神指点,如何配置能直接跳转?谢谢!
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2017-3-1 19:23:24 | 显示全部楼层


两个http的写成一块就行了

ssl的那个301是有问题的既然是ssl站点即使只是做301,也应该按正常ssl站点设置上ssl证书、key等那些配置参数
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2017-3-2 08:23:49 | 显示全部楼层

回复 2# 的帖子


server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name abc.com;
        #index index.html index.htm index.php default.html default.htm default.php;
        #root  /home/wwwroot/www.abc.com;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/www.abc.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/www.abc.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/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/ssl/dhparam.pem;
        return 301 https://www.abc.com$request_uri;
        }

不知道起作用没,因为wp本来就会跳转,似乎是可以

[ 本帖最后由 wxfly 于 2017-3-2 08:31 编辑 ]
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-11-17 05:57 , Processed in 0.025732 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表