Nginx 同一个域名且80端口,代理多个项目不同的项目

1.一个域名代理多个前端项目,在域名后面用前缀做区分

2.例如:www.baidu.com,指向多个项目:www.baidu.com/a   、www.baidu.com/b

注:项目打包一定要放在主域名项目的根路径下面

3.nginx配置如下

# nginx配置如下 
server {
       listen       80;
       server_name  www.baidu.com;
       client_max_body_size 10m; #(改成你想要的数值)
       location / {
         root   /www/wwwroot/h5/;
         index  index.html;
       }
       location /a {
         alias  /www/wwwroot/a/;
         index  index.html;
       }
       location /b {
         alias  /www/wwwroot/b/;
         index  index.html;
       }
}

4.uniapp 项目配置

# manifest.json  配置
 "h5" : {
        "publicPath" : "/a/",    # 如果Nginx代理多个前端项目,此路径为Nginx前端的前缀,否则为空
        "devServer" : {
            "https" : false,
            "proxy" : {
                "/api" : {
                    "target" : "http://www.baidu.com", //后端的服务器地址
                    "changeOrigin" : true,
                    "ws" : true,
                    "pathRewrite" : {
                        "^/api" : ""
                    }
                }
            }
        },
        "router" : {
            "base" : "/a/"   # 如果Nginx代理多个前端项目,此路径为Nginx前端的前缀,否则为空
        }
}
5.请求后端接口封装的http.js配置

const baseUrl = '/a/api';      // nginx 配置代理,前端项目的前缀

const baseUrl = '/b/api';      // nginx 配置代理,前端项目的前缀


location /a {  // 前端uniapp项目代理的路径
      alias   /www/wwwroot/hscj/h5/a;
      index   index.html;
}

以上的api后端请求的前缀,要以nginx代理后端的前缀一致
location /api { 
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8085/;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用nginx代理转发功能来实现多个服务域名共用80端口的需求。你可以在nginx的配置文件中添加多个server块,每个server块对应一个服务域名。在每个server块中,使用listen指令指定监听的端口和server_name指令指定服务域名。然后在location块中配置服务的根目录和索引文件。以下是一个示例配置文件: ``` # nginx.conf # 服务1配置(监听books二级域名) server { listen 80; server_name books.summergao.com; location / { root /usr/local/summergao/front/books; index index.html index.htm; } } # 服务2配置(监听test二级域名) server { listen 80; server_name test.summergao.com; location / { root /usr/local/summergao/front/test; index index.html index.htm; } } ``` 在上述配置中,我们通过两个server块分别配置了两个服务域名。每个server块中的location块指定了服务的根目录和索引文件。你可以根据实际需求修改配置文件中的路径和域名。这样,nginx就可以根据不同域名将请求转发到对应的服务上,实现多个服务域名共用80端口的效果。 #### 引用[.reference_title] - *1* [Nginx配置多个服务共用80端口](https://blog.csdn.net/qq_25231683/article/details/120762568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Nginx配置多个服务域名解析共用80端口](https://blog.csdn.net/weixin_44569100/article/details/126179849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值