V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
korvin
V2EX  ›  问与答

apache 和 frp 之间关于仅做“端口转发”的问题

  •  
  •   korvin · 2017-11-01 15:33:47 +08:00 · 2271 次点击
    这是一个创建于 2566 天前的主题,其中的信息可能已经有所发展或是发生改变。

    情况说明:

    一台服务器,上面运行 apache、内网穿透 frp 服务 apache 监听 80 端口,上面运行了 www.a.com frp 监听 8088 frps 配置了启用二级子域名subdomain_host,只要是符合*.b.com:8088就可以 本地启动了 frpc,定制二级域名 ja

    目前的效果

    访问 www.a.com,进 apache,访问 ja.b.com:8088,进服务器的 frp,然后转发到本地的服务里。

    想实现的效果

    1. 访问 www.a.com ,进 apache
    2. 访问 ja.b.com ,进 frp,并转发到本地的服务里,相当于要在服务器上把*.b.com:80的请求转到*.b.com:8088服务上(域名前缀很重要,必须 x.b.com:80 转到 x.b.com:8088y.b.com:80 转到 y.b.com:8088 )。

    尝试过的配置

    <VirtualHost *:80>
        ServerName www.b.com
        ServerAlias *.b.co
        ProxyRequests Off
        ProxyPass / http://localhost:8088/
        ProxyPassReverse / http://localhost:8088/ #反向代理转发给本机的 8080 端口
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName www.a.com
        DocumentRoot "D:\web\dist"
        <Directory "D:\web\dist">
            Options FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
            Options Indexes
        </Directory>
    </VirtualHost>
    

    但 frp 是要根据域名前缀来决定转发到哪台本地电脑上,所以之前配置里直接转发到服务器本地http://localhost:8088/是有问题的。

    大家有没有其它方案,在一台服务器上实现。

    3 条回复    2018-11-14 21:13:10 +08:00
    forwardlee
        1
    forwardlee  
       2018-05-23 14:57:38 +08:00
    昨天我也是和你同样的问题,利用 Apache 反向代理怎么弄都是失败的,最后使用 Nginx 一次成功,下面是我写的经验参考,希望对你有所帮助。
    ————————————————————

    我写了新文章《配置 Nginx 反向代理 FRPS 服务端口》 https://www.jianshu.com/p/54ecdcd4ec65
    snable
        2
    snable  
       2018-10-16 23:52:24 +08:00   ❤️ 1
    <VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.example.com
    ServerAlias image.example.com pan.example.com
    ProxyPreserveHost On
    ProxyPass / http://localhost:8088/
    ProxyPassReverse / http://localhost:8088/
    </VirtualHost>
    ygchy
        3
    ygchy  
       2018-11-14 21:13:10 +08:00 via iPad
    @snable 你的办法很好用,网上找到的大多是 Nginx 的,感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1153 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.