我目前在LAN上运行多个低功耗服务器。他们都运行不同的服务,但其中一些是相似的。我还拥有3个域名,并为这些域名拥有许多子域名。
好吧,正如我之前所说,我的一些服务真的很相似,并且运行在同一个端口上(我有一个Owncloud服务器,我的网站托管在另一个上)。这意味着如果我想要 owncloud.mydomain.com 去我的Owncloud服务器,并且 www.mydoamain.com 去我的网络服务器,我有一点点一个问题。这两个子域都只是去我家,服务使用相同的端口。我无法真正区分每个子域的流量。
编辑:它还需要能够指导多种类型的流量,如SSH,HTTPS和FTP
我虽然只是在不同的端口上运行不同的服务,但并不是最佳的。这意味着看起来很奇怪,人们将更难以使用我的任何服务,而这通常是我不喜欢的事情。
我在同一台服务器上考虑过类似的服务,但它们是一些非常糟糕的服务器。我宁愿不必做任何类似的事情。此外,由于服务器有点旧,很高兴知道如果其中一个死了,至少我会有其他服务。我认为这个选项并不好。
最佳解决方案:我听说有一项服务具有我正在寻找的名为 haproxy 的确切功能。我唯一的问题是我不知道如何使用这项服务,我特别不知道如何得到我想要的用途。
我很乐意让haproxy工作,我只需要知道如何按照我需要的方式设置它。如果有人有关于如何专门做我想要的教程的链接(我已经找到了如何让haproxy工作,而不是我想要的方式)那么我会非常感激。我会自己寻找,但我已经拥有,我甚至不知道该搜索什么。任何人都可以帮助我吗?
谢谢
答案 0 :(得分:5)
创建自己的配置文件,例如haproxy.cfg,包含以下内容
defaults
mode http
frontend my_web_frontend
bind 0.0.0.0:80
timeout client 86400000
acl is_owncloud hdr_end(host) -i owncloud.mydomain.com
acl is_webserver hdr_end(host) -i www.mydomain.com
use_backend owncloud if is_owncloud
use_backend webserver if is_webserver
backend owncloud
balance source
option forwardfor
option httpclose
timeout queue 500000
timeout server 500000
timeout connect 500000
server server1 10.0.0.25:5000 weight 1 maxconn 1024 check inter 10000
backend webserver
balance source
option forwardfor
option httpclose
timeout queue 500000
timeout server 500000
timeout connect 500000
server server1 10.0.0.30:80 weight 1 maxconn 1024 check inter 10000
然后在你的一台服务器上运行haproxy。
./haproxy -f ~/haproxy.cfg
将所有域和子域指向此计算机。他们将根据配置进行路由。
答案 1 :(得分:0)
您只需要一个IP地址,但需要正确配置虚拟主机。此链接提供Ubuntu虚拟主机配置的分步详细信息。这是最简单的方法,如果你坚持使用你的个人网络,其他人都会同意它是最便宜的。