nginx

nginx 重定向将 http 重定向到 https
为什么
在部署好站点之后,一共是部署了 http 和 https 两个站点,也就是说,一共有四个链接可以访问我的站点主页,分别是:
这样的话,就会有四个链接可以访问我的站点,但是这样的话,就会有一些问题,比如说以域名做统计的话,就会统计出四个链接,但是实际上,这四个链接都是访问的同一个站点。之后就决定通过 nginx 重定向解决这个问题。
通过 nginx 做重定向
在 nginx 的配置文件中,找到站点的配置文件,然后在 server
配置块中添加如下配置:
1 |
|
rewrite 和 return 301 都可以实现重定向,但是有一些区别:
rewrite
指令会修改请求的 URL,并继续在 Nginx 配置中匹配其他指令。return 301
指令会发送一个 301 永久重定向响应给客户端,并立即结束请求处理,不再继续匹配其他指令。
如果只是简单的重定向,使用 return 301
更加合适。但要想在重定向的过程做更复杂的操作,比如说用正则表达式来修改 URL,那么就需要使用 rewrite
。
重启 nginx
修改完配置文件之后,需要重启 nginx 使配置生效(nginx 是支持热启动,直接做 reload 就可以):
1 | nginx -s reload |
之后你不论访问哪个链接,都会被重定向到 https://hdbook.top
。
评论
评论插件加载失败
正在加载评论插件