如何使用 Letsencrypt 对没有根文件夹的域使用 Cloudflare?

如何使用 Letsencrypt 对没有根文件夹的域使用 Cloudflare?

我正在尝试在我的网站上将 Letsencrypt (HTTPS) 与 Cloudflare (HTTP) 结合使用,但我对此感到困惑。

  1. 该域没有根文件夹

  2. 访问域名将被重定向到其中一个子域名

    • domain.com -> sub1.domain.com
  3. 我有很多子域名

    • domain.com 重定向至 sub1.domain.com
    • sub1.域名.com
    • sub2.域名.com
    • ETC..

我正在使用带有 apache 的 ubuntu 服务器 16.04。

我的问题是,如何使用上述配置(domain.com 没有根文件夹)通过 Cloudflare 将 Letsencrypt 用于我的网站?

谢谢

答案1

您可以在 apache 中设置一个 vhost,例如用于 letsencrypt,并将“.well-known”文件夹代理到该域。

步骤 1:设置 Let's Encrypt vhost

<VirtualHost *:80>
    ServerName      lets-encrypt-proxy.domain.com
    DocumentRoot    /var/www/letsencrypt
</VirtualHost>

步骤2:配置ProxyPass

您可以在 /etc/httpd/conf.d/letsencrypt.conf 中设置此 ProxyPass,或者在指定的 vhost 中直接配置。如果您在 /etc/httpd/conf.d/letsencrypt.conf 中设置文件,请将以下行复制到此文件中:

ProxyPass /.well-known/acme-challenge/ http://letsencrypt.domain.com/.well-known/acme-challenge/

确保在您现有的虚拟主机中,文件正确重定向到 proxypass,例如,或者您将 ProxyPass 直接发布到虚拟主机:

<VirtualHost *:80>
    ...
    RewriteEngine On
    RewriteRule ^/?.well-known/acme-challenge/ - [L]
    ...
</VirtualHost>

相关内容