nginx如何实现代理本地frp端口?

新手上路,请多包涵

frp映射本地配置如下

[test.com]
type = http
local_ip = 127.0.0.1
local_port = 8999
custom_domains = test.com

如果访问test.com则将请求转发到8188(IDEA Tomcat服务)

如果访问test.com/real则将请求转发到本地8080/real(H5前端dev-server服务)

需求:因为不想单独部署,这样前端或后端有修改需要重新打包会很浪费时间,所以想直接连接开发工具的服务端口

尝试使用Nginx监听8999端口(端口没有任务服务占用),然后按照需求转发,配置如下

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8999;
        server_name  test.com;

        location / {
            proxy_pass  http://localhost:8188/;
        }  
        location ^~/real/ {
            proxy_pass  http://localhost:8080/real/;
        }
    }
}

配置后表现为

输入test.com/real可以访问得到本地的8080/real,但是加载的很慢

  1. 排除real服务问题,因为本地访问不会出现加载慢
  2. 排除frps服务端的网络和本地网络问题,因为其他映射访问起来正常

该如何解决或者有其他方法可以实现这种需求

阅读 1.8k
1 个回答

因为在开发环境下,前端的包会特别大,加载特别慢,如果估计的的带宽也比较小,数据量比较大,综合起来,肯定慢的要死

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题