在 FreeBSD 10 设置中,我有一个运行可公开访问的 nginx Web 服务器的监狱和另一个基于 Jetty 的 Java 后端服务器的监狱。每个 jail 都有自己的内部 IP 地址 127.0.1.x 连接到 lo1 环回接口。所有这些都配置为与 pf 防火墙一起运行,它将传入流量重定向到 nginx jail,然后从那里重定向到 Jetty jail。基本 pf 配置如下所示。
现在我想通过 https 从外部访问一个 Git 存储库。这已经设置并运行良好,但只能通过外部访问它。在 Jetty jail 中,无法进行连接。但是,我想通过公共 IP 地址从我的 Jetty 后端监狱访问 Git 存储库。
我尝试了类似以下行的内容来在 pf 中启用它,但没有成功:
rdr pass proto tcp from $ip_jetty to $ip_public port https -> $ip_nginx
Run Code Online (Sandbox Code Playgroud)
我的 pf 防火墙配置如下所示:
ip_public = "6.7.8.9"
if_external = "igb0"
net_jails = "127.0.1.0/24"
ip_nginx = "127.0.1.1"
ip_jetty = "127.0.1.10"
# Allow traffic from jails to …
Run Code Online (Sandbox Code Playgroud)