是否有可能在Edgerouter上构build一个轻量级的反向代理服务器? 我认为这应该是可能的,因为路由器上的操作系统是Debian。 但是在查看问题/答案之后,我没有发现任何此主题的logging。 有谁知道这个 – 以及如何?
我发现路由器里面有3.8G的“磁盘”,还有debian-utils和其他debian的东西。 没有列出官方存储库。 将路由器转换为反向代理的目的是处理传入的SSL请求。 目前,我们在web服务器IP上redirect到邮件或文件服务器IP。 我们担心的是如果Web服务器失败,那么SSL上的webmail和webfile访问将不起作用。 所以你必须在USG网关和服务器之间插入路由器,并让路由器/代理做正确的IP分配。
边缘路由器捆绑Lighttpd。 只要你没有做太复杂的事情,你可以重写configuration文件。
但是要知道,路由器被devise为默认自己到一个特定的状态,除非被理解,否则会覆盖你的改变。 mgbowen的Github存储库[1]集成Let's Encryptauthentication是一个很好的起点。
尽pipe可以安装Nginx等其他服务,只要它们具有兼容的mips包,而sources.list就会更新以反映这一点。 当然,如果你想使用Lighttpd以外的东西,整个configuration将不得不从头开始重build。
在我离开这个话题太远之前,我还想补充(并且强调)用鲁莽的无视来安装应用程序可以把你的路由器变成一块砖头。 您必须获得pipe理电缆并再次安装固件; 不是一个微不足道的任务,也不是为了心灰意懒的!
有了这些警告,我会分享我所做的一些片段。
Lighttpd.conf.patch
--- 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 network.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> ) ) ) }
注意:
端口到端口到端口redirect的原因是由于Lighttpd的版本,目前可用,以及build议的用于端口转发的解决方法[2] 。
参考: