LNMP下HTTP强制跳转HTTPS的几种写法

时间:2018年7月12日 栏目:VPS教程 作者:赵 容 点击: 6,411 次

自营机房/高防服务器/高防VPS/美国高防/洛杉矶VPS/洛杉矶高防服务器

现在越来越多的网站都启用https访问了,SSL证书也不贵,还有一些免费的比如Let's Encrypt或者腾讯也有提供1年免费证书等等,加上https有更好的安全性,甚至有人说以后搜索引擎都更青睐https的网站…今天就记录下在HTTP强制跳转HTTPS的几种方式方法,方便哪天我要加SSL的时候使用。

我们需要修改域名配置文件,这里我以军哥LNMP环境为例,路径在/usr/local/nginx/conf/vhost/

http_https

如上图,选择部分就是添加的跳转内容,通常我们有多种写法方式,下面列举。

No.1
if ($scheme = http ) {
return 301 https://$host$request_uri; }

No.2
server_name zrblog.net ;
rewrite ^(.*) https://www.zrblog.net$1 permanent;

No.3
if ($server_port = 80 ) {
return 301 https://$host$request_uri; }

No.4
server_name zrblog.net ;
return 301 https://$server_name$request_uri;
延伸:

如果网站不是采用的NGINX而是APACHE,那就更加简单了,直接在网站根目录修改.htaccess文件,加入:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.zrblog.net$ [NC]
RewriteRule ^(.*)$ https://www.zrblog.net/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.zrblog.net/$1 [L,R=301]

这样的话,除了不加www的域名访问,也会自动跳转到www域名并HTTPS访问。

NGINX的其他写法方式:

rewrite ^(.*)$? https://$host$1 permanent;  #1
return 301 https://$server_name$request_uri; #2
if ($host ~* "^zrblog.net$") {
rewrite ^/(.*)$ https://www.zrblog.net/ permanent;
}     #3
if ($host = www.zrblog.net) {
rewrite ^/(.*)$ https://www.zrblog.net permanent;
}    #4

以上搜集自网络,如有错漏,请大家帮忙指正!谢谢。

高防VPS/洛杉矶高防/高防服务器/20年老牌机房

声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: LNMP下HTTP强制跳转HTTPS的几种写法码字不易,谢绝复制粘贴!
关于使用: 本站主要分享服务器及VPS信息,不提供任何产品销售及代购,所有访客朋友请在国家法律法规许可范围内购买和使用产品,QQ群讨论:683851361.
关于安全: 任何IDC都有倒闭和跑路的可能,主机线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.

LNMP下HTTP强制跳转HTTPS的几种写法:目前有4 条留言

  1. 沙发
    yy:

    您自己也转成HTTPS吧……安全

    2018-07-12 17:20 [回复]
    • 赵 容:

      我属于懒癌晚期的。。。

      2018-07-12 17:39 [回复]
      • 其实最重要的原因是CDN的HTTPS要钱 233333333

        2018-07-13 15:24 [回复]
        • 赵 容:

          一语中的。。。

          2018-07-13 16:19 [回复]

发表评论


hostyun locvps

广而告之