【问题标题】:Nginx reverse proxy for domain.com:portdomain.com:port 的 Nginx 反向代理
【发布时间】:2020-03-11 19:54:07
【问题描述】:

我有一个 Web 应用程序正在运行并在 http://example.com:8099 上公开提供

要通过 HTTPS 运行应用程序,应用程序 documentation 建议我们使用标准反向代理,因为它本身不支持 HTTPS。我找到的所有指南都是关于仅使用域根进行代理的,并且没有考虑端口。

首先,我不确定我应该首先听哪个端口。是 443 还是 8099

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.com;

    error_log         /var/log/nginx/sonar-error.log;
    access_log        /var/log/nginx/sonar-access.log;

    location / {
       proxy_pass http://localhost:8099;
    }
}

在我的服务器(AWS EC2 实例)中,应用程序也在与域中相同的端口 http://localhost:8099 上运行。

我尝试了不同的配置,并检查了是否有任何内容登录到这些日志文件中。但这些都是空的。所以我认为我做的不对。

【问题讨论】:

  • 您的 AWS 安全组是否允许打开 443 端口?另外,您是否有 SSL 证书,可以通过 https 提供服务?
  • @Grynets 是的 443 已打开。我获得证书没有问题(最好使用 certbot)。我不确定需要的配置,以及我应该监听的端口。

标签: amazon-web-services nginx amazon-ec2 sonarqube reverse-proxy


【解决方案1】:

你需要监听 443 端口(Nginx 允许连接的端口)和proxy_pass 到 8099(正在传递应用程序流量的端口)。

您还需要确保 server_name 行包含请求流量的 DNS 名称,或者是语音标记内的下划线 ("_"),以确保所有请求都与该服务器条目匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2011-08-09
    • 2013-02-18
    • 2021-04-08
    • 2019-03-19
    • 2016-07-22
    • 1970-01-01
    相关资源
    最近更新 更多