【发布时间】:2019-09-21 15:08:49
【问题描述】:
我有 AWS EC2 实例运行,负载均衡器 (LB) 监听端口 443:
LB 转发到名为wordpress-80 的目标组:
当我输入我的域https://my-domain.com/ 时,我可以看到默认的nginx 页面:
但是我不想暴露8000端口上运行的东西,所以urlhttps://my-domain.com/直接打开8000端口。我应该如何配置nginx?我试过this answer,但没用。
【问题讨论】:
-
为什么链接答案中的解决方案不起作用?您需要做的就是将 nginx 配置为将端口 80 代理到 localhost 上的端口 8000。您应该能够通过您链接的答案来做到这一点,只需将该答案中的
8080更改为8000。当您尝试这样做时,您是否遇到错误或其他问题? -
@MarkB 链接解决方案导致Safari 无法打开页面。
-
你有没有采取任何措施来调试它?您是否查看了 nginx 日志以查看它是否从在端口
8000上运行的服务器获得了错误的响应?你真的有东西在端口8000上运行吗?当您通过 SSH 连接到 EC2 实例并运行curl http://localhost:8000时会发生什么? -
为什么需要 nginx?如果您使用负载均衡器?使用主机基础路由并删除 nginx 并将流量传递到目标端口
8000当它接收到 LB 时。你不需要在你的 nginx 上管理任何东西 LB 将负责路由。使用 nginx 配置解决问题的每一件事。 -
显示您的 Nginx 配置以及如何生成证书?证书无效,要么是针对错误的 DNS 生成的,要么是您使用了错误的配置。 SSL 应该终止 LB 级别,并且实例将接收解密流量。
标签: amazon-web-services nginx amazon-ec2 proxy aws-load-balancer