如何在NGINX反向代理设置后引入NGINX上配置SSL传递? [重复]

问题描述 投票:0回答:1

我有一个内部LAMP(Ubuntu 18.04)服务器,可用于各种个人项目。它一直直接在端口80和443上公开。它托管4个站点(Apache虚拟主机),并且我对域使用CloudFlare完整SSL。我使用certbot发行了“让我们加密”证书。由于我从来都不是系统管理员,因此这些操作都是按照在线教程完成的。

昨晚,一个朋友把NGINX服务器挂起,端口80和443上的所有流量都转到了它。我们正在一起做一些项目,现在我的网络中有几台服务器,因此是nginx反向代理。我被要求simply使用ssl直通来重新启用对我网站的访问。

我知道配置文件的位置,我知道如何重新启动Nginx服务,仅此而已。我从未与NGINX一起工作过,也不知道要使用什么配置或如何进行。

apache ssl nginx reverse-proxy
1个回答
0
投票

您正在寻找的答案在这里:https://reinout.vanrees.org/weblog/2017/05/02/https-behind-proxy.html

摘要中,这是您需要的配置选项。

server {
  listen 443;
  server_name sitename.example.org;
  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect off;
    proxy_pass https://internal-server-name;
    proxy_http_version 1.1;
  }
  ssl on;
  ....
  ssl_certificate /etc/ssl/certs/wildcard.example.org.pem;
  ssl_certificate_key /etc/ssl/private/wildcard.example.org.key;
}

当然,您需要在代理服务器上设置SSL,但这是基本思想。

[值得注意的是,nginx默认情况下将使用HTTP / 1.0进行代理。这就是为什么您需要proxy_http_version

建议您阅读全文以获取更多背景知识。

© www.soinside.com 2019 - 2024. All rights reserved.