1. 程式人生 > >Nginx 配置 pathinfo, 阿里雲免費申請的 ssl 證書

Nginx 配置 pathinfo, 阿里雲免費申請的 ssl 證書

本博主轉載前必先親自考證,深惡痛絕百度CP之流,有問題請與我聯絡。

專案使用thinkphp5, nginx 要支援pathinfo, 作為小程式的介面,當然也少不了ssl 證書。

阿里雲可申請免費ssl 證書,所以就整了一個。

廢話不多說,直接上多站點程式碼, 將以下程式碼放入vhosts.conf 其中的說明部分改為自己的即可使用。


server {
        listen       443;
        server_name  www.XXX.top XXX.top;
        access_log   logs/access.log;
        error_log    logs/error.log;
        #1月前本人申請的ssl,下載的證書為 XXX.pem 和 XXX.key, 阿里雲做了改變,現在下載的Nginx證書為XXX.cert 和 XXX.key
        ssl                  on;
        ssl_certificate      "證書cert絕對路徑  XXX.cert";
        ssl_certificate_key  "證書key絕對路徑 XXX.key";
        ssl_session_timeout  5m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_prefer_server_ciphers   on;

        set $root   "專案絕對路徑";
        location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
        {
            root $root;
        }
        location / {
            root    $root;
            index    index.html index.php;
            if ( -f $request_filename) {
                break;
            }
            if ( !-e $request_filename) {
                rewrite ^(.*)$ /index.php/$1 last;
                break;
            }
        }
        location ~ .+\.php($|/) {
            fastcgi_pass    127.0.0.1:9000;
            fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
            include        fastcgi_params;
        }
}