gpt4 book ai didi

networking - 如何按域分隔流量?

转载 作者:行者123 更新时间:2023-12-05 01:07:27 25 4
gpt4 key购买 nike

背景

我目前有多个低功耗服务器在我的 LAN 上运行。它们都运行不同的服务,但其中一些是相似的。我还拥有 3 个域,并且这些域有许多子域。

那么,你的问题是什么?

好吧,正如我之前所说,我的一些服务非常相似,并且运行在同一个端口上(我有一个 Owncloud 服务器,而我的网站托管在另一个上)。这意味着,如果我希望 owncloud.mydomain.com 转到我的 Owncloud 服务器,而 www.mydoamain.com 转到我的 Web 服务器,我会遇到一些问题。两个子域都进入我家,服务使用相同的端口。我无法真正分离每个子域的流量。

编辑:它还需要能够引导多种类型的流量,如 SSH、HTTPS 和 FTP

可能的解决方案

我虽然只是在不同的端口上运行不同的服务,但根本不是最佳的。这意味着看起来很奇怪,人们会更难使用我的任何服务,而且通常我不喜欢它。

我想过在同一台服务器上提供类似的服务,但它们是一些非常小巧的服务器。我宁愿根本不必做那样的事情。此外,由于服务器有点旧,很高兴知道如果其中一个死了,至少我会有我的其他服务。我认为这个选项根本不好。

最佳解决方案:我听说有一种服务具有我正在寻找的确切功能,名为 haproxy .我唯一的问题是我不知道如何使用这项服务,尤其不知道如何使用我想要的。

我的最后一个问题

我很想让 haproxy 工作,我只需要知道如何按照我需要的方式设置它。如果有人有关于如何做我想做的事情的教程的链接(我已经找到了如何让 haproxy 工作,只是不是我想要的方式),那么我将非常感激。我会自己寻找这个,但我已经有了,我什至不知道要寻找什么。谁能帮我吗?

谢谢

最佳答案

制作你自己的配置文件,比如 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

将您的所有域和子域指向这台机器。他们将根据配置进行路由。

关于networking - 如何按域分隔流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com