我正在为我的协作待办事项列表应用程序设置 VPC 集群www.getdoneapp.com。
为了将我的服务器放在私有网络上,我需要一个 NAT 服务器,以便私有网络上的服务器可以连接到互联网来接收更新等等。
NAT 服务器将消耗一个弹性 IP 地址,所以我想知道是否可以让该 NAT 服务器运行 nginx 将流量引导至我的内部服务器以进行 HTTP 传输。
所以问题是,在同一台服务器上运行 NGINX 和 NAT 是不是一个坏主意,或者我应该选择使用 2 个弹性 IP 地址?
答案1
您可以轻松完成此操作而不会出现任何问题,只需为每个服务器使用如下所示的 nginx conf 文件即可
server {
listen 80;
server_name subdomain.domiain.com;
location / {
proxy_pass http://internal-server;
}
}
显然,你可以变得更复杂,做 ssl 和其他类似的事情,但它的核心是可以工作的,然后你只需打开端口 80,然后转到命名的主机(或者你可以打开多个端口,并为每个端口执行此操作而不是 URL)
答案2
我无法评论这对您的应用程序架构是否是个好主意,但是,从技术上讲,使用您自己的 NAT 实例是可行的。这很简单。
在 AWS 中:
1)禁用源/目标检查2)配置linux以启用内核和iptables规则中的nat功能。
对于第 2 点,您只需使用现有 amazon nat 中的 configure-pat.sh 脚本即可。我已将其粘贴这里如果这有帮助的话。
希望这可以帮助
安德鲁