本博主转载前必先亲自考证,深恶痛绝百度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;
}
}