1,申请ssl,数字证书,得到 key与pem: 将其放到 nginx/conf目录下
,
2,修改nginx/conf\vhost 对应项目的 .conf文件(没有,自建)【注意,项目文件夹 与 nginx文件夹 同目录】
2-2,【】里的 替换你自己的
server {
listen 80;
listen 443 ssl;
server_name 【www.你的域名.com ~img(\d).你的域名.com;】
root 【与nginx同目录的项目目录;】 //【 like: /data/项目目录名】
index index.php index.html index.htm; // 【入口文件】
add_header Access-Control-Allow-Origin *;
ssl_certificate 【 你的pem.pem;】
ssl_certificate_key 【 你的ssl.key;】
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
if ($ssl_protocol = "") { return 301 https://$host$request_uri; } 【强制转换 https】
【if ($host !~ "^www\.你的域名\.com$") {
rewrite ^(.*) http://www.你的域名.com$1 permanent;
}】// 出问题,可以不要
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php last;
}
location / {
if (-f $request_filename) {
expires max;
break;
}
gzip_proxied any;
gzip_min_length 0;
gzip_buffers 4 8k;
#gzip_http_version 1.0;
gzip_types text/css text/xml text/plain image/png application/x-javascript;
gzip_vary on;
}
location ~ \.php$ {
fastcgi_pass 【Linux上项目对应的域名】;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/ 【 linux上项目所在的位置】 $fastcgi_script_name;
include fastcgi_params;
}
}
3,VM共享文件占得 端口号是 443 ,我的改为 5001 (主要是为了与其他服务端口号不冲突)/ 也可以Windows文件与VM的Linux文件不共享,这时无需改变端口号
3,这时 nginx 可以占 443 端口 ,启动服务了(nginx安装在Windows上,请自行百度)
4,这些改完后,还要把项目中所有的 http 链接 改为 https,只要有一个便会报错