我有一台 Raspberry Pi 2 Model B,运行 Deluge 和 Deluge Web UI 24/7。我设置了一个无 IP 的免费主机,这样我就可以访问 Rasperry Pi 下载我存储在 3TB 磁盘中的一些数据。
我使用 Apache2 作为网络服务器,但我期待更改为我自己创建的 Go 应用程序。
WebUI Deluge 监听端口是9090。
我想访问 Deluge WebUI,而无需在主机名末尾键入 :9090(通过 /del 是理想的选择)。
我读了多个关于 SO 的问题,其中提到了反向代理。我赶紧查了一下官方文档。
我对配置文件所做的更改如下:
/etc/apache2/sites-enabled/000-default.conf
ProxyPass /del http://hostname:9090/
ProxyPassReverse /del http://hostname:9090/
我也尝试过改写000-默认(但在不同时间)
RewriteEngine on
RewriteCond %{REQUEST_URI} /del [NC]
RewriteRule ^(.*)$ http://hostname:9090 [P]
重新启动 Apache,每次访问时结果都是空白页http://主机名/del (通过浏览器)
答案1
将网络流量转发到代理应用程序
使用Apache 代理通行证
Reverse Proxy
ProxyPass "/del" "http://127.0.0.1/"
ProxyPassReverse "/del" "http://127.0.0.1/"
Forward Proxy
ProxyRequests On
ProxyVia On
<Proxy "*">
Require host localhost
</Proxy>
- 测试您的配置是否有错误:
apachectl -t
- 重新启动 apache 网络服务器:
service apache2 restart
将网络流量转发到代理应用程序
使用iptables
iptables -t nat -A PREROUTING -p -tcp -d 127.0.0.1 \
--dport http -j DNAT --to-destination 127.0.0.1:9090
以上将所有来自 127.0.0.1 端口 80 的流量转发到 127.0.0.1 端口 9090。