【发布时间】:2021-11-24 13:10:38
【问题描述】:
我在本地提供商中有一个基础架构,是关于一个 nginx 反向代理服务器和另外两个服务器以及我的节点应用程序(产品和测试)。我还有两个用于测试的子域:test.mydomain.com 和 test.mydomain.app
今天,我们作为新的提供商迁移到AWS,为了逐步迁移系统,我们首先选择了nginx服务器。
我做了这个:
-
我在默认 vpc - 默认子网(包括正确的路由表 - 附加的互联网网关实例)下创建了一个具有适当安全组(http、https 和 ssh 开放)的 EC2 实例
-
我在上面安装了 nginx,当我转到 EC2 实例的公共 IP 地址时,我看到“Nginx 正在运行!”。
-
我将 test.mydomain.app 指向了这个新的 EC2 服务器
-
我在“sites-available”文件夹中创建了一个 test.mydomain.app conf 文件,然后与启用站点的链接。该块的内容如下:
server { server_name test.mydomain.app www.test.mydomain.app; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass "http://XXX.XX.XXX.XXX:3000"; break; } }
XXX.XX.XXX.XXX 是我现在在本地提供商的测试服务器的公共 IP 地址,我那里的块(本地提供商的 nginx)也是一样的。
那么,为什么来自本地提供商的 nginx 可以很好地将流量路由到测试服务器(也在本地提供商中),但来自 aws 的 nginx 不能将流量路由到同一台服务器?
我收到 ERR_CONNECTION_TIMED_OUT。我尝试了很多方法并得到它连接超时(但有时来自 nginx 响应),仅此而已。 我还尝试显示默认 html 并且效果很好,但我需要将流量重定向到测试服务器。 我还尝试使用 aws lightsail 服务创建 NGINX 服务器,但得到了相同的结果。 无法在 aws 之外路由流量。
我不知道这是否与 VPC、网络、nginx 或什么有关。
我会很感激这方面的一些帮助,谢谢。
【问题讨论】:
标签: amazon-web-services nginx amazon-ec2 reverse-proxy amazon-lightsail