nginx配置https
Posted IT老司机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置https相关的知识,希望对你有一定的参考价值。
配置https 证书推荐使用腾讯云的免费证书,当然也可以使用openssl自己生成不过会有问题
nginx配置https配置
server {
listen 443;
server_name www.my.com; # 项目域名
ssl on;
ssl_certificate /etc/nginx/conf.d/key/1_admin.yi-insurance.com_bundle.crt; #(证书公钥)
ssl_certificate_key /etc/nginx/conf.d/key/2_admin.yi-insurance.com.key; #(证书私钥)
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /home/www/www.my.com/public/;
#访问路径的文件不存在则重写URL转交给ThinkPHP处理
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php/?.*$ {
root /home/www/www.my.com/public/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#加载Nginx默认"服务器环境变量"配置
include fastcgi_params;
#设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量
set $fastcgi_script_name2 $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {
set $fastcgi_script_name2 $1;
set $path_info $2;
}
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name2;
fastcgi_param SCRIPT_NAME $fastcgi_script_name2;
}
}
http强制跳转https
server{
listen 80;
server_name www.my.com; # 项目域名
#rewrite ^/(.*) https://www.my.com$1 permanent;
location /{
proxy_pass https://www.my.com;#代理
}
}
以上是关于nginx配置https的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu 14.04 nginx 1.12.2 配置https遇见的坑
expressjs设置tls连接https nginx服务器请求