我有一个公共静态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软件包…
安装后,转到服务>反向代理
在常规标签下…
在“ Web服务器”选项卡下,添加每个服务器的(内部)IP
在Mappings选项卡下,为每个服务器添加域名
最后,在防火墙>规则下,创build规则将stream量引导到反向代理服务器
如果您有其他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。
这有帮助吗?