一台服务器,上面运行 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,然后转发到本地的服务里。
*.b.com:80
的请求转到*.b.com:8088
服务上(域名前缀很重要,必须 x.b.com:80 转到 x.b.com:8088,y.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/
是有问题的。
大家有没有其它方案,在一台服务器上实现。
1
forwardlee 2018-05-23 14:57:38 +08:00
昨天我也是和你同样的问题,利用 Apache 反向代理怎么弄都是失败的,最后使用 Nginx 一次成功,下面是我写的经验参考,希望对你有所帮助。
———————————————————— 我写了新文章《配置 Nginx 反向代理 FRPS 服务端口》 https://www.jianshu.com/p/54ecdcd4ec65 |
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> |