自从谷歌浏览器马上把Http站点立为不安全站点及苹果AppStore升级Https后,很多人会注意到,Https将会是主流协议,对于个人用户,无非就多了一个小锁,看起来炫酷罢了,但是对于一些政治规避站点,上Https无非是最好的解决办法。
- 1)根据一键Lnmp包部署好你的Nginx环境。上传一个测试文件,推荐写入:
<?php phpinfo() ?>
- 2)打开站点,测试是否正常。
- 3)正常的话,我们接着下一步操作。
4)登录服务器,使用vi操作,修改Nginx配置或者Vhost.conf,如果你站点有多个网站,而只需要配置一个其中站点的话:
/etc/nginx/conf/vhost/xxx.conf
(其中xxx为您需要上Https的站点)。
- 打开它,里面类似于这样的文件:
server {
listen 80;
server_name 4ker.cc;
access_log /var/log/www.log main;
root /var/www/html;
index index.php index.html index.htm;
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
listen 80;
server_name 4ker.cc;
access_log /var/log/www.log main;
root /var/www/html;
index index.php index.html index.htm;
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 我们只需要在 listen 80;
下面增加这么几行在里面:
ssl_certificate /var/www/html/key.crt; #这是证书
ssl_certificate_key /var/www/html/key.key; #这也是证书
listen 443 ssl; #监听443端口,https专用
if ($server_port !~ 443){
rewrite ^/.*$ http://$host$uri; #如果端口不是443,自动转到443端口
}
ssl_certificate_key /var/www/html/key.key; #这也是证书
listen 443 ssl; #监听443端口,https专用
if ($server_port !~ 443){
rewrite ^/.*$ http://$host$uri; #如果端口不是443,自动转到443端口
}
即可开启https。
值得注意的是,两个SSL后面的证书路径需要设置存在的目录。