nginx 发布网站通过域名访问,后端接口反向代理
1、申请域名证书,申请好之后,下载Nginx 域名部署包(包里一般会含义 *.key和*.pem 文件)
2、把 *.key和*.pem 文件 放置到 Nginx 程序 conf文件夹下,与nginx.conf 文件路径保存一致
3、修改Nginx的配置文件
server {
listen 443 ssl;
# 你的域名
server_name www.xxxxx.cn;#需要绑定的域名,要跟申请的域名证书一直
# 你的证书 crt对应的是公钥 key对应的是私钥
ssl_certificate *.pem;#域名证书的.pem文件名称
ssl_certificate_key *.key;#域名证书的.key 文件名称
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 访问根路径跳转页面
# 如:https://xxxx.com/
location / {
root C:/vue/dist;#网站发布的路径
index index.html index.htm;
add_header Content-Security-Policy upgrade-insecure-requests;
}
# 访问/api的时候代理到服务器端部署的后端服务
# 如:https://xxxx.com/api
location /api {
proxy_pass http://192.168.1.1:5003;#需要反向代理访问的接口地址
}
}
4、修改网站发布包中访问的接口地址路径,比如前端程序中设置了一个全局接口地址 http://192.168.1.1:8080 ,然后修改调整之后为:https://www.xxxxx.com (绑定的域名地址)
修改的原因是,访问后端接口交给Nginx 反向代理访问,如果不修改调整的话,会报 Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR 错误
5、启动Nginx