【问题标题】:NGINX configuartion to proxy SSL requests to a Sinatra server将 SSL 请求代理到 Sinatra 服务器的 NGINX 配置
【发布时间】:2023-04-02 03:50:02
【问题描述】:

我有密钥、证书和链式证书。 域看起来像automation.mydomain.com

我有一个在 localhost:3000 上运行的 Sinatra 服务器,通过 curl localhost:3000/test 确认。

我想将端口 80 和端口 443 的流量重定向到 3000。这是我的 /etc/sites-enabled/sinatra 配置:

upstream app_aggregator {
    server 127.0.0.1:3000;
    keepalive 8;
}

# the nginx server instance
server {
    listen 0.0.0.0:80;
    server_name automation.mydomain.com my_site;
    access_log /var/log/nginx/aggregator.log;

    # pass the request to the node.js server with the correct headers
    # and much more can be added, see nginx config options
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://app_aggregator/;
      proxy_redirect off;
    }
 }

请注意,上述方法不起作用(http://automation.mydomain.com/ 导致 ERR_NAME_NOT_RESOLVED)。我不确定如何将密钥、普通证书和链证书添加到这个组合中。

我过去使用 node.js 配置解决了这个问题,该配置愉快地使用了密钥并且 SSL 工作得很好,但我从未使用过 nginx。

值得注意的是,我使用的是 Amazon AWS,只打开了 80 和 443。

【问题讨论】:

    标签: ubuntu amazon-web-services nginx ssl-certificate reverse-proxy


    【解决方案1】:

    您的域的 DNS 配置有问题,如果不了解您的设置,很难告诉您出了什么问题,但至少要确保您的域的名称服务器已正确设置并有 A 记录指向到您的 AWS 实例。

    使用 Nginx 配置 HTTPS 时需要注意的重要一点是,您的证书文件应包含您可能拥有的任何中间证书。有关详细信息,请参阅下面的 Nginx 文档链接。

    使用 Nginx 设置 SSL 就像将以下 3 行添加到您的配置中一样简单:

    listen 0.0.0.0:443 ssl;
    ssl_certificate /path/to/your/certificate
    ssl_certificate /path/to/your/certificate_key
    

    如果您想强制执行 HTTPS,您可以在现有服务器块上禁用 HTTP(端口 80)并创建一个额外的,如下所示:

    server {
        listen 0.0.0.0:80;
        server_name automation.mydomain.com my_site;
        return 301 https://$server_name$request_uri;
    }
    

    这会将任何 HTTP 请求重定向到启用 HTTPS 的服务器。请注意,我建议在测试时将 301 更改为 302,这样您的浏览器就不会缓存响应。

    查看这些资源了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多