是否可以在 Edgerouter 上构建轻量级反向代理服务器?我认为这应该是可能的,因为路由器上的操作系统是 Debian。但在查看问题/答案后,我没有找到有关此主题的任何先前记录。有人知道这个吗 - 以及如何知道?
我发现路由器里面有 3.8G 的“磁盘”,并且还有 debian-utils 和其他 debian 内容。没有列出官方存储库。将路由器转换为反向代理的目的是处理传入的 SSL 请求。目前,我们将 Web 服务器 IP 重定向到邮件或文件服务器 IP。我们担心的是,如果 Web 服务器发生故障,那么 SSL 上的 Web 邮件和 Web 文件访问将无法正常工作。因此,我们的想法是在 USG 网关和服务器之间插入路由器 - 并让路由器/代理执行正确的 IP 分配。
答案1
Edge Router 捆绑了 Lighttpd。只要您不做太复杂的操作,就可以重写配置文件。
但是,要知道,路由器的设计目标是默认为特定状态,并且 - 除非你理解 - 否则它将覆盖你的更改。mgbowen 的 Github 存储库[1]整合 Let's Encrypt 认证是一个很好的起点。
虽然可以安装其他服务,例如 Nginx,只要它们具有兼容的mips
软件包并且sources.list
已更新以反映这一点。当然,如果您想使用 Lighttpd 以外的其他服务,则必须从头开始重建整个配置。
在我开始离题之前,我还想补充(并强调)一下,不顾一切地安装应用程序可能会让您的路由器变成一块砖头。您必须获取管理电缆并重新安装固件;这不是一项简单的任务,不适合胆小的人!
在考虑了这些注意事项之后,我将分享一些我做过的事情的片段。
Lighttpd.conf.补丁
--- include "conf-enabled/10-ssl.conf"
+++ # include "conf-enabled/10-ssl.conf" # original
+++ include "conf-enabled/11-ssl.conf" # updated
+++ include "conf-enabled/20-network.conf" # redirects
11-ssl.conf
$SERVER["socket"] == "192.168.1.1:80" {
### Handle the existing 80 to 443 traffic
.
.
.
### Added for personal use:
$HTTP["host"] == "foo.internal.tld" {
proxy.server = ( "" =>
(
( "host" => "192.168.1.1", "port" => <random unused port> )
)
)
}
}
20-网络.conf
$SERVER["socket"] == "192.168.1.1:<port defined in 11-ssl.conf>" {
url.rewrite-once = ( "^(?!/gui)(.*)" => "/gui$1" )
proxy.server = ( "" =>
( "" =>
( "host" => "<IP of server running service>", "port" => <port for service> )
)
)
}
笔记:
端口到端口到端口重定向的原因在于当前可用的 Lighttpd 版本以及建议的解决方法[2]用于端口转发。
参考: