随着现在网络环境越来越复杂,对网站和网页的连接安全性要求也会越来越高。目前据牛人技术观察,部分http类型的网站,在日常访问过程中被重新插入了不知名的第三方广告甚至是钓鱼信息。严重危害了网站主和访客的数据安全,这里我们将介绍如何将现有的http类型网站改造成https安全连接的网站。防止网页在传输过程中数据被修改的情况。
首先;安装https的证书
我们可以自己购买,也可以在网上找一些免费的https证书,免费的证书可能让你的网站访问速度会慢一些,在你网站访问量不大的时候可以考虑使用免费的SSL证书。如果是网站本身访问量比较大建议还是购买收费的https证书吧。一分价钱一分货,收费的HTTPS证书在速度上还是要好一点的。完成证书购买,登录证书控制台后就可以把购买的证书两个秘钥文件下载到服务器了。建议把*.cer,server.cer和server.key这三个文件保存到同一个目录下,可以放到webroot/ctr目录方便NGINX在配置文件中调用。然后打开NGINX下网站的配置文件*.conf,在配置文件开头server{}区域内开启ssl模块。代码如下:
server {
listen 114.215.111.222:80;
listen 114.215.111.222:443 ssl;
server_name www.xxx.cn;
root /home/cache/xxxxwwwhtm/; #用于缓存的网站根目录
index index.html;
access_log off;
ssl on;
ssl_certificate /xxxATA/byConf/nginx/ssl/xxxx/www_xxx_cn/214929004711111.pem;
ssl_certificate_key /xxxATA/byConf/nginx/ssl/xxxx/www_xxx_xx/21492900411111.key;
location ~ .*\.(html)$ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #代理后的真实IP
**********
}
}
其次;将原来的HTTP连接永久跳转到新的https地址
因为以前老的https还存在,并且被百度等各大搜索引擎收录,所以不能随便处理原来的连接,而需要采用301永久跳转到新的URL上面,这样可以把权重传递并集中到一个网友上。这里采用下面配置即可完成,而且通用性比较好。之前用过rewrite ^(.*)存在重复定向,浏览器报“太多跳转”的错误。if ( $scheme = http ){
return 301 https://$host$request_uri;
} #使用IF方式进行http强制301永久重定向到https并集合权重
注意上面的字符有些地方可能需要空格,否则NGINX重启会出错。
网友评论 comments