在一个公共IP上有两个子域位于pFsense路由器之后

我有一个公共静态IP地址
我有我的主要名注册在本地互联网提供商和他们的DNS。

我的主要路由器是pfSense,在它后面我有我的本地networking。

我的WEB服务器位于本地局域网,pfSense正在向本地服务器进行NAT(端口redirect)WEB通信。
现在我需要在局域网内(另一个本地IP地址)(等邮件服务器)多一个Web服务器,我需要另一个域或子域。

我可以注册一个新的域指向相同的公共IP地址,并告诉pfSense根据域做不同的redirectstream量? 我打算在HTTP(80)端口下使用这两个域。

请求调用domain.com时,是否有可能将pFsenseredirect到一个本地IP,并且在请求调用subdomain.domain.com的相同公共IP加法器时做不同的端口转发

如果这是可能的我应该安装和configuration哪个Pfsense模块,以及如何?

这可以通过squid3包来完成。 squid3包含一个反向代理服务器

安装squid3软件包…

  1. 系统>软件包
  2. 向下滚动到squid3并按下+button

安装后,转到服务>反向代理

常规标签下…

  1. 反向代理接口: 广域网
  2. 外部FQDN: YourFQDN.com (这应该是你的主要名字,但并不意味着你仅限于你放在那里的名字的子域名)
  3. 启用HTTP反向模式 选中

在“ Web服务器”选项卡下,添加每个服务器的(内部)IP

  1. 按下+button
  2. 启用此同位体 检查
  3. 对等别别名:为您的服务器组成一个昵称
  4. 对等IP:您的服务器的IP地址
  5. 端口端口为您的服务器(大概80)
  6. 保存

Mappings选项卡下,为每个服务器添加域名

  1. 启用此URI 选中
  2. 组名:组成一个昵称
  3. 同行:select您在“ Web服务器”选项卡中设置的相应服务器
  4. 保存

最后,在防火墙>规则下,创build规则将stream量引导到反向代理服务器

  1. +button添加规则
  2. 默认设置…
    • 通过 广域网TCP ,源types任何
  3. 目的地: WAN地址
  4. 目标端口范围: HTTP
  5. 保存

如果您有其他configuration从外部转发的规则,则此规则应为LAST。

您使用的任何名称必须注册为指向您的外部IP–因此,如果您的域名是example.com,为了在pfsense中创build子域名,您需要使用域名注册商点* .example.com创build一个logging。

我从这个有用的教程中学到了: http : //sdrv.ms/V8qLfK

你不能用NAT做这个,因为NAT只关心IP地址和端口(第3 + 4层)。 HTTP Host头在上面,所以NAT实现永远不知道它。

为了实现您所寻找的目标,您需要一个反向代理服务器。 (Apache,Squid,nginx,lighttpd等)。 反向代理能够检查HTTP请求中的Host头,并将stream量转发给相应的服务器。

这个有可能! 我已经成功地做了一些非常相似的东西使用鱿鱼反向代理 有设置它的指南,但它很容易。 首先通过pfsense软件包pipe理器安装,然后configuration一些服务器和映射。

这是如何工作的:

它基本上启动一个Web服务器端口80,或443如果您使用https选项。 然后,您可以定义子域名,如“web.mydomain.com”和“portal.mydomain.com”等,并configuration他们转发到内部networking的位置。

然后,它将parsing请求url并将其传递给相应的服务器。 我正在更进一步,在一台服务器上运行两个基于https的服务,使用不同的端口。 service1.mydomain.com将连接到https://服务器:8443,而service2.mydomain.com将连接到https://服务器:8444

仅供参考,域名注册商dns上的我的子域名指向pfsense框中的相同“面向外部”的WAN IP。

这有帮助吗?