是否可以在 AWS 外部使用 NGINX (EC2) 路由流量?
Is possible to route traffic with NGINX (EC2) outside AWS?
我在本地提供商中有一个基础设施,是关于一个 nginx 反向代理服务器和另外两个服务器与我的节点应用程序(生产和测试)。我还有两个子域用于测试:test.mydomain.com 和 test.mydomain.app
今天,我们作为一个新的提供商迁移到AWS,为了分步迁移系统,我们首先选择了nginx服务器。
我做了这个:
我在默认 vpc - 默认子网(包括正确的路由 table - 互联网网关)下创建了一个 EC2 实例,具有适当的安全组(http、https 和 ssh 打开)附加实例)
我在上面安装了 nginx,当我转到 EC2 实例的 Public IP 地址时,我看到 'Nginx is working!'。
我将 test.mydomain.app 指向这个新的 EC2 服务器
我在 'sites-available' 文件夹中创建了一个 test.mydomain.app conf 文件,然后与 sites-enabled 链接。区块内容如下:
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 是我现在在本地提供商中拥有的测试服务器的 Public IP 地址,我在那里的块(本地提供商的 nginx)与嗯
那么,为什么来自本地提供商的 nginx 可以很好地将流量路由到测试服务器(也就是在本地提供商中),但是来自 aws 的 nginx 无法将流量路由到同一个服务器?
我正在 ERR_CONNECTION_TIMED_OUT。我尝试了很多方法并得到了连接超时(但有时来自 nginx 响应),仅此而已。
我还尝试显示默认 html 并且效果很好,但我需要将流量重定向到测试服务器。
我还尝试使用 aws lightsail 服务创建 NGINX 服务器,但得到了相同的结果。 无法将流量路由到 aws 外部。
我不知道这是否与 VPC、网络、nginx 或其他相关。
我会很感激这方面的帮助,谢谢。
三天后我自己解决了。我会把步骤留在这里,以备不时之需。
- 首先,如果你打算通过nginx将流量路由到外部地址,你需要在命运中打开所需的端口。
- 其次,您需要(可能)将 proxy_set_header 从 $http_host 更改为 $proxy_host.
希望对您有所帮助,感谢
我在本地提供商中有一个基础设施,是关于一个 nginx 反向代理服务器和另外两个服务器与我的节点应用程序(生产和测试)。我还有两个子域用于测试:test.mydomain.com 和 test.mydomain.app
今天,我们作为一个新的提供商迁移到AWS,为了分步迁移系统,我们首先选择了nginx服务器。
我做了这个:
我在默认 vpc - 默认子网(包括正确的路由 table - 互联网网关)下创建了一个 EC2 实例,具有适当的安全组(http、https 和 ssh 打开)附加实例)
我在上面安装了 nginx,当我转到 EC2 实例的 Public IP 地址时,我看到 'Nginx is working!'。
我将 test.mydomain.app 指向这个新的 EC2 服务器
我在 'sites-available' 文件夹中创建了一个 test.mydomain.app conf 文件,然后与 sites-enabled 链接。区块内容如下:
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 是我现在在本地提供商中拥有的测试服务器的 Public IP 地址,我在那里的块(本地提供商的 nginx)与嗯
那么,为什么来自本地提供商的 nginx 可以很好地将流量路由到测试服务器(也就是在本地提供商中),但是来自 aws 的 nginx 无法将流量路由到同一个服务器?
我正在 ERR_CONNECTION_TIMED_OUT。我尝试了很多方法并得到了连接超时(但有时来自 nginx 响应),仅此而已。 我还尝试显示默认 html 并且效果很好,但我需要将流量重定向到测试服务器。 我还尝试使用 aws lightsail 服务创建 NGINX 服务器,但得到了相同的结果。 无法将流量路由到 aws 外部。
我不知道这是否与 VPC、网络、nginx 或其他相关。
我会很感激这方面的帮助,谢谢。
三天后我自己解决了。我会把步骤留在这里,以备不时之需。
- 首先,如果你打算通过nginx将流量路由到外部地址,你需要在命运中打开所需的端口。
- 其次,您需要(可能)将 proxy_set_header 从 $http_host 更改为 $proxy_host.
希望对您有所帮助,感谢