我在 AWS 帐户上运行了一个 Web 服务(php、sql 等)。我已设置 openVPN,因此用户必须建立 VPN 连接,然后 IP 地址才能正常工作。
我目前将其设置为 example123.noip.com,转到 172.xxx.xxx.123
这有效。
我的服务正在起步,我希望能够将其提供给其他公司,但我希望能够将多家公司托管在同一个 AWS 实例上,但我想为每家公司提供无缝体验,因此例如我想我可以设置更多 noip 地址:clientcompany1.noip.com -> 172.xxx.xxx.123 clientcompany2.noip.com -> 172.xxx.xxx.123 clientcompany3.noip.com -> 172.xxx.xxx.123
因此,来自 Company3 的 X 先生访问 clientcompany3.noip.com,它将显示他的我的服务页面标记为 Company 3...(他们不会知道其他公司托管在该 AWS 帐户上)
(有时我可能需要添加一个单独的 AWS 实例,然后我就可以将 clientcompany3.noip.com 翻转 -> 172.xxx.xxx。新地址 456)
但是 - 在 AWS 中检测或路由此问题的最佳方法是什么?我是否仅使用 PHP 从 HTTP 标头进行一些重定向检测?有没有一种巧妙的方法可以通过 openVPN 路由流量?
答案1
好的,所以我认为最好的方法是通过 Cloudflare 路由我的域名。
然后,我可以将子域定义为 A 记录,路由到每个服务的私有 IP 或公共 IP 地址(因此某些用户可能拥有静态 IP 地址,我可以通过 AWS 防火墙规则允许该地址,因此这些地址被路由到公共 IP 地址),而其余用户必须激活 VPN,然后路由到 VPN 私有地址。
我的 PHP 标头检查 SERVER['HTTP_HOST'] 并将检测例如“clinicABC.example.com”并显示 ABC Clinic 的品牌。