黑帽联盟

 找回密码
 会员注册
查看: 2192|回复: 1

[基础服务] Nginx强制http 301跳转到https设置方法

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    如今越来越多的网站开始启用SSL证书,这个也是趋势。黑帽联盟也在考虑是不是启动,但是考虑到页面主题中很多都是手工设置的,要是切换过来比较麻烦,所以近期在考虑抽点时间把主题换掉,然后在合适的时候启用SSL证书。在年后升级火狐浏览器看到部分有些非HTTPS网站在地址栏中也有提示,所以这个也是一个趋势,但也并不是绝对,毕竟普通的网站并非交互性质,也没有必要HTTPS。

    如果我们在http切换https之后,势必肯定需要地址的唯一性,需要设置301跳转强制https,这里简单做一个记录技术文档,整理几个Nginx实现强制http跳转https的脚本代码,以后有需要的时候可以直接复制用到。

    第一、Nginx配置文件修改地址
    /usr/local/nginx/conf/vhost

    一般我们常用的一键包或者是自己配置的可能稍微有点差异,我们需要找到当前网站所在的.conf配置文件,记得在修改之前需要备份,以免改错。
    第二、常见的几个可用301跳转方法

    301跳转

    301跳转


    第一:
    1. if ($scheme = http ) {
    2. return 301 https://$host$request_uri;
    3. }
    复制代码
    第二:
    1. server_name cnblackhat.com ;
    2. rewrite ^(.*) https://cnblackhat.com$1 permanent
    复制代码
    将域名换成自己的域名。
    第三:
    1. if ($server_port = 80 ) {
    2. return 301 https://$host$request_uri;
    3. }
    复制代码
    这个与第一种差不多。
    第四:
    1. server_name cnblackhat.com ;
    2. return 301 https://$server_name$request_uri;
    复制代码
    只需要将域名换成自己的域名。
    最后,我们修改替换之后,需要重启nginx才可以生效。


    148

    主题

    9

    听众

    337

    积分

    版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    擦汗
    2018-6-6 11:33
  • 签到天数: 348 天

    [LV.8]以坛为家I

    挺好的,但是对于https,网站收录是个问题
    来自安卓客户端来自安卓客户端
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部