关注VPS主机与
服务器促销分享

Nginx环境强制http 301跳转https设置记录

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

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

第一、Nginx配置文件修改地址

/usr/local/nginx/conf/vhost

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

第二、常见的几个可用301跳转方法

server
  {
    listen 80;
	#listen [::]80;
	server_name ssl.zyhot.com;
	index index.html index.htm index.php default.html default.htm default.php;
	root  /home/wwwroot/ssl.zyhot.com;
	if  ($scheme = http) {
	return 301 https:$host$request_url;
	}
	include wordpress.conf;
	#error page  404 /404.html;
	
	#Deny access to PHP files in specific directory
	#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

修改配置文件

第一:

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

第二:

server_name zyhot.com ;
 rewrite ^(.*) https://zyhot.com$1 permanent

将域名换成自己的域名。

第三:

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

这个与第一种差不多。

server_name zyhot.com ;
return 301 https://$server_name$request_uri;

只需要将域名换成自己的域名。

最后,我们修改替换之后,需要重启nginx才可以生效。

本文转自: 老左博客

赞(0)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址