【问题标题】:Enable cloudflare on multiple subdomains when using VPS with nginx?使用带有 nginx 的 VPS 时在多个子域上启用 cloudflare?
【发布时间】:2019-08-18 17:57:34
【问题描述】:

有一台配置了 nginx'om 的 VPS 机器,上面有 10 个站点正在旋转结构

tester.example.com
api-one.tester.example.com
api-two.tester.example.com
api-3.tester.example.com
api-4.tester.example.com
api-5.tester.example.com
api-6.tester.example.com

在单独的主机上旋转的中心站点

在 nginx 中,我将默认站点 tester.example.com 配置为使用来自 cloudflare 服务的 ssl

    server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name tester.example.com www.tester.example.com;
    return 302 https://$server_name$request_uri;
}


server {

  # SSL configuration

    listen 443 ssl http2 default_server;
  listen [::]:443 ssl http2 default_server;
  ssl        on;
  ssl_certificate         /etc/ssl/certs/cert.pem;
  ssl_certificate_key     /etc/ssl/private/private.pem;
  ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
  ssl_verify_client on;

  server_name tester.example.com www.tester.example.com;

  root /var/server/site/;
  index index.html index.htm index.nginx-debian.html;


  location / {
       # try_files $uri $uri/ =404;
        proxy_pass         http://localhost:8880;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
   }
}

没有https - 使用常规ip:端口,打开通过所有服务

如何进行 api-one.tester.example.com 配置等,以便它们也可以通过 ssl 打开?

我尝试更改子域配置中的端口(支持 cloudflare 的 8443),但没有给出想要的结果

.....
listen 8443 ssl http2;
listen [::]:8443 ssl http2;
ssl        on;
.....

【问题讨论】:

    标签: nginx cloudflare


    【解决方案1】:

    您通常必须在 Cloudflare DNS 设置中单独设置子域,除非您使用 *.wildcard,但我认为他们不再支持。

    如果您希望 Cloudflare 在 https/ssl 上路由所有子域,Cloudflare 仪表板 > Crypto > 始终使用 HTTPS 上有一个选项。在这种情况下,如果您的域通过纯 http 访问,它们将重定向到 https。这当然要求您的服务器设置为支持域的 SSL(不管 Cloudflare),或者您在 Crypto > SSL 设置下使用“灵活”,这允许 Cloudflare 在 https 上将您的网站提供给客户端,尽管数据从您的服务器到 Cloudflare 的服务无需 SSL。

    【讨论】:

      猜你喜欢
      • 2018-06-17
      • 2012-04-03
      • 2013-05-01
      • 2011-03-30
      • 2014-05-22
      • 2020-03-09
      • 1970-01-01
      • 2021-03-29
      • 2021-02-08
      相关资源
      最近更新 更多