nginx 发布网站通过域名访问,后端接口反向代理

发布时间 2023-05-05 15:45:05作者: AutumnSilence

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