配置ssl代理先要拥有ssl证书,我们将ssl证书的两个文件 .pem后缀的证书文件和 .key后缀的秘钥文件 复制到nginx的文件中的 conf 目录下 (也可以放在其他目录下,但是对应的ssl_certificate和ssl_certificate_key配置就需要做相应的修改)
然后我们打开nginx.conf这个配置文件 主要配置如下
XXX.com对应你的域名 以下都用XXX.com代替
http{
server{
# ssl 监听443端口
listen 443 ssl;
server_name XXX.com;
# 这里的 full_chain.pem 就是我们上面讲到的ssl证书文件
ssl_certificate full_chain.pem;
# private.key 是我们的秘钥文件
ssl_certificate_key private.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下
location / {
# 转发到目标服务地址 XXX.com对应解析的ip地址
proxy_pass http://120.66.66.666:3000;
}
# 如果请求是 XXX.com/123.png 那么就匹配到此处,
#ngixn就会去C:\Users\Administrator\Desktop\static\images目录下找123.png这张图片作为静态资源返回
#如果服务器是linus就对应是 home/...啥的 反正都是绝对路径
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
root C:\Users\Administrator\Desktop\static\images;
access_log off;
expires 30d;
}
}
#监听80端口,并重定向到443
# 访问 XXX.com 默认就是80端口
server{
listen 80;
server_name XXX.com;
rewrite ^/(.*)$ https://XXX.com:443/$1 permanent;
}
}
这样就完成https 和 静态资源服务的配置了