当前位置: 首页 > 知识库问答 >
问题:

NGINX 配置将 SSL 请求代理到辛纳屈服务器

林铭
2023-03-14

我有钥匙,有证书,有连锁证书。这个域名看起来像automation.mydomain.com

我有一个Sinatra服务器本地主机:3000上运行,通过curl本地主机:3000 /测试确认。

我想将端口80和端口443流量重定向到3000。这是我的/etc/sites-启用/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)。我不知道如何将密钥、普通证书和链证书添加到这个组合中。

我以前用节点解决过这个问题。js-config很高兴地使用了密钥,SSL工作得很好,但我从未使用过nginx。

值得注意的是,我使用亚马逊AWS,只有80和443打开。


共有1个答案

尉迟兴修
2023-03-14

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

使用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,以便您的浏览器不会缓存响应。

有关更多信息,请参见这些参考资料

    < li>nginx ssl模块文档 < Li > Raymii在nginx上提供强大的SSL安全性
 类似资料:
  • 我已将Nginx反向代理服务器配置为侦听端口443,并将请求传递给上游SAAS客户端。以下是配置。 这里的SSL证书还包括用于与上游服务器进行SSL握手的中间证书。现在当我尝试访问https://test.saas.someloggingserver.com从IE(配置了以上代理)中,我得到了低于400的错误请求错误。我不是Nginx调试专家,如果你能看看下面的日志并告诉我这个问题的可能原因,我将

  • Nginx反向代理转发到内网穿透的本地服务失败。 我的nginx部署在阿里云服务器上,然后想将请求转发到内网穿透的本地服务上,总是404,网上找了很多文章,也不知道是哪里出现了问题,求解! 这是域名对应的本地服务IP端口。 http://orzzzsy.nat300.top -> 127.0.0.1:9999 阿里服务器能够访问我内网穿透的域名,获取到数据 我预期是能够通过访问nginx服务器,也

  • 这个错误的原因是什么?我如何修复它或设置我想要的代理?

  • 我只是在这里张贴这篇文章,作为我对一个相当微妙的问题的回答。 我有两台服务器(两台不同的机器): 一些静态文件位于名为< code>/audiofiles的目录中,这些文件需要在< code > www . website . com/audio files 上访问,但存储在< code>backend.website.com的机器上。是的,这是一个令人费解的要求,但这是我们的情况,无法改变。 我

  • 本文向大家介绍使用nginx设置代理服务器,包括了使用nginx设置代理服务器的使用技巧和注意事项,需要的朋友参考一下 nginx可以利用其反向代理的功能来进行负载均衡的实现,同时也可以使用其正向代理的功能设置代理服务器,比如在内网的环境中,在可以连接外网的机器上运行nginx作为代理服务器,其他机器通过设定此台机器的IP和port即可通过其连接上网,本文使用nginx官方镜像,通过如下步骤即可简

  • null 例如,将返回JSON格式的用户。 用户应用程序也有一个HTTPendpoint,它应该将请求转发给其他应用程序--让我们将其中一个称为作业应用程序。 此endpoint为。例如, 请注意,初始请求到达用户应用程序,然后它被转发到作业应用程序。 我把我思考的一些方法。也许你过去做过类似的事情,所以你可以分享你这样做的经验。甚至改进我的一种方法。 我将使用映射在用户应用程序中创建 null