nginx+php站点配置https

| 2018年1月24日

今天准备搞一个小程序测试一下,结果发现如果要链接我的站点,那就必须要站点支持https。所以就顺便鼓捣一下把站点升级一下,增加https的访问支持。     首先解决的就是证书问题,一个个人blog就没有必要买证书了,发现证书老贵老贵的。所以找了找免费证书,最后发现腾讯云提供的还是比较好的,很方便申请,这里https://buy.cloud.tencent.com/ssl 直接选择免费证书,输入自己的域名就可以申请了,再按照他的流程就可以生效了,最后下载下来就可以用了。阿里云说是有,但是我的申请界面没有看到,所以没法用。

这里记录一下在nginx+php网站怎么折腾的。 首先上传证书,使用xshell,很方便。

sftp: /usr/local/nginx/ssl> put
Uploading 1_zhwen.org_bundle.crt to remote: /usr/local/nginx/ssl/1_zhwen.org_bundle.crt
Uploading 2_zhwen.org.key to remote: /usr/local/nginx/ssl/2_zhwen.org.key

在配置一下nginx的配置文件就可以了,配置基本上参考腾讯云的官方指导就可以了 https://cloud.tencent.com/document/product/400/4143

server {
        listen 443;
        server_name www.zhwen.org zhwen.org;
        root /datax/www/zhwen.org/;
        index index.html index.php;
#
        ssl on;
        ssl_certificate /usr/local/nginx/ssl /1_zhwen.org_bundle.crt;
        ssl_certificate_key /usr/local/nginx/ssl/2_zhwen.org.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

修改完成之后测试一下

root@helight:/usr/local/nginx # /usr/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful
root@helight :/usr/local/nginx # /usr/sbin/nginx -s reload

https://www.zhwen.org 完美。 不过证书是一年到期,到期之后要重新申请更换。

看完本文有收获?请分享给更多人
关注「黑光技术」,关注大数据+微服务