0基础自学linux

0基础自学linux运维-1.6-nginx服务器http重定向

2019-07-02  本文已影响2人  hualinux

需求

      现在越来越多的网站都使用https,这样既保证了网站的安全,也避免被网络运营商植入广告、内容被监控的问题。

现在公司要求当客户用http访问的时候,自动重定向为https

解决

把http重定向到https使用了nginx的重定向命令。那么应该如何写重定向?之前老版本的nginx可能使用了以下类似的格式。

rewrite ^/(.*)$ http://domain.com/$1 permanent;

或者

rewrite ^ http://domain.com$request_uri? permanent;

现在nginx新版本已经换了种写法,上面这些已经不再推荐。现在网上可能还有很多文章写的是第一种。下面是nginx http页面重定向到https页面最新支持的写法:

server {

      listen        80;

      server_name    www.xxx.com;

      return        301 https://$server_name$request_uri;

}

server {

      listen        443 ssl;

      ssl on;

      server_name    www.xxx.com;

      ssl_certificate /root/.acme.sh/xxx/fullchain.cer

      ssl_certificate_key /root/.acme.sh/xxx/xxx.key

      [....]

}

其中:

删除线是根据自己的情况进行修改的

我这里的证书使用的是 acme.sh脚本自动生成和到期重新生成的Let’s

Encrypt证书,具体操作可见《0基础自学linux运维-2.15-使用acme.sh安装免费ssl证书并自动更新》

上一篇下一篇

猜你喜欢

热点阅读