我有一个公共静态 IP 地址。
我在本地互联网提供商处注册了我的主域名及其 DNS。
我的主路由器是 pfSense,它后面有我的本地网络。
我的 WEB 服务器位于本地 LAN 中,pfSense 正在对 WEB 流量进行 NAT(端口重定向)到本地服务器。
现在我需要在我的 LAN 中再添加一个 Web 服务器(在另一个本地 IP 地址上)(例如邮件服务器),并且我需要另一个域或子域。
我可以注册一个指向同一公共 IP 地址的新域名,并告诉 pfSense 根据域名对流量进行不同的重定向吗?我计划在 HTTP (80) 端口下使用两个域名。
当请求调用 domain.com 时,pFsense 是否可以重定向到一个本地 IP,而当在同一个公共 IP 添加器上请求调用 subdomain.domain.com 时,是否可以执行不同的端口转发?
如果可能的话,我应该安装和配置哪一个 PfSense 模块,以及如何安装和配置?
答案1
这可以通过鱿鱼3包。squid3 包含一个反向代理服务器
安装 squid3 包...
- 系统 > 软件包
- 向下滚动至鱿鱼3并按下+按钮
安装后转到服务 > 反向代理
在下面一般的标签...
- 反向代理接口: 广域网
- 外部 FQDN: 您的FQDN.com(这应该是您的主名称,但这并不意味着您只能使用此处所放名称的子域名)
- 启用 HTTP 反向模式 已检查
在下面Web 服务器选项卡,添加每个服务器的(内部)IP
- 按+按钮
- 启用该对等体 已检查
- 对等别名:为你的服务器起一个昵称
- 对端 IP:您的服务器的 IP 地址
- 对等端口你的服务器的端口(可能是 80)
- 节省
在下面映射选项卡,添加每个服务器的域名
- 启用此 URI 已检查
- 团队名字:起个绰号
- 同行:选择您在中设置的相应服务器Web 服务器标签
- 节省
最后,在防火墙 > 规则下,创建规则以将流量引导至反向代理服务器
- 按+按钮添加规则
- 默认设置...
- 经过,广域网,TCP、源类型任何
- 目的地: WAN 地址
- 目的端口范围: HTTP
- 节省
如果您配置了其他从外向内转发的规则,则此规则应该是最后一个。
您使用的任何名称都必须注册为指向您的外部 IP - 因此,如果您的域名是 example.com,为了在 pfSense 中创建子域,您将需要使用您的域名注册商点 *.example.com 设置记录。
我从这个有用的教程中学到了:http://sdrv.ms/V8qLfK
答案2
您无法使用 NAT 来实现这一点,因为 NAT 只关心 IP 地址和端口(第 3 层 + 第 4 层)。HTTPHost
标头位于其上方,因此 NAT 实现永远不会意识到这一点。
为了实现您的目标,您需要一个反向代理。(Apache、Squid、nginx、lighttpd 等)。反向代理能够检查Host
HTTP 请求中的标头并将流量转发到适当的服务器。
答案3
这是可能的!我已经使用 squid 反向代理成功完成了类似的事情。有关于如何设置的指南,但其实很简单。首先通过 pfsense 包管理器安装它,然后配置一些服务器和映射。
工作原理:
它基本上会在端口 80 或 443(如果使用 https 选项)上启动 Web 服务器。然后,您可以定义子域,如“web.mydomain.com”和“portal.mydomain.com”等,并配置它们在内部网络上的转发位置。
然后,它将解析请求 URL 并将其传递给相应的服务器。我更进一步,在一台服务器上运行两个基于 https 的服务,使用不同的端口。service1.mydomain.com 将连接到 https:// server :8443,而 service2.mydomain.com 将连接到 https:// server :8444
仅供参考,域名注册商的 DNS 上的我的子域名都指向 pfSense 框上的相同“面向外部”的 WAN IP。
这有帮助吗?