现在的位置: 首页 -> LAMP学习 -> thinkphp+nginx ssl(https)的配置

thinkphp+nginx ssl(https)的配置

2018-04-25 00:56评论数 0 ⁄ 被浏览 2575 views+

thinkphp项目在nginx中配置ssl的配置参考如下(其他的大同小异):


1、在nginx目录下创建cert目录(一般都有。其实也并非一定是cert,只是因为习惯和为了更好管理吧),然后将证书(.pem和.key的两个文件)上传到cert目录中。


2、打开nginx的配置,在http下加入以下的配置,注意“root”、“server_name”和“fastcgi_pass”请以实际为准。


server {
    listen 443;
    server_name www.daixiaorui.com;
    ssl on;
    root /var/html/daixiaorui;
    index index.php index.html;
    ssl_certificate   cert/www_daixiaorui_com.pem;
    ssl_certificate_key  cert/www_daixiaorui_com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    
    location / {
        index index.html index.php;
        #如果文件不存在则尝试TP解析
        try_files  $uri /$uri/index.html /index.php$uri;
    }

    location ~ .+\.php($|/) {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

        #设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,
        #后面不需要再改写SCRIPT_FILENAME,SCRIPT_NAME环境变量,所以必须在加载fastcgi.conf之前设置
        fastcgi_split_path_info  ^(.+\.php)(/.*)$;
        fastcgi_param  PATH_INFO $fastcgi_path_info;
        #加载Nginx默认"服务器环境变量"配置
        include        fastcgi.conf;
    }

    location ~ /\.git {
        deny  all;
    }
}


3、保存配置后,重启nginx。


4、浏览器打开配置的地址,进行https(SSL证书)测试,如果有绿色小锁和“安全”字样,表示一切正常,如下图所示(chrome为例,其他浏览器会有不同)。


https安全小锁提示


如果没有,表示页面中可能引用了非https的资源,具体可以按F12在console选项卡中查看具体信息。


F12 console


 

文章出自:https://www.daixiaorui.com/read/273.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

目前有 0 条评论  @我要评论

    您的每一个评论都是对我的一份支持

     博客二维码

    昵称 *

    邮箱 *