希望您能解释一下这里可能发生的事情:
我已经将网站cutit.sk
从外部 VPS 迁移到我的私人服务器上。我还有多个域名,用于将流量重定向到cutit.sk
( vyrez.sk, cut-center.com
)
事实上,我已经迁移了大约 10 个网站(总共大约 100 个域名),这就是我使用端口访问它们的原因。我的 vhost 配置如下所示:
Listen 662
<VirtualHost *:662>
ServerName webserver
ServerAlias *.cutit.sk *.vyrez.sk *.cut-center.com
DocumentRoot /var/www/html/cutit
<Directory /var/www/html/cutit>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>
通过 LetsEncrypt 和 certbot 请求 SSL 时出现几个错误:
Domain: www.cut-center.com
Type: connection
Detail: Fetching
http://www.cut-center.com/.well-known/acme-challenge/twxT3FlJDb3RwjmqaBJLlLh_ev5bWpxQy7euo08OI5c:
Error getting validation data
看起来 Certbot 正在尝试验证访问本地文件夹(不存在)的请求作为其唯一域。
因此,问题是:我该如何绕过这个问题?或者正确的方法是什么?
不确定是否值得一提,但是:DNScutit.sk
本身尚未指向我的服务器(我对此有另一个错误) - 但这是有意的,我稍后会更改 A 记录。cut-center.com
并且vyrez.sk
有指向我的服务器的 A 记录,但那些域尚未重定向到cutit.sk
(我对这个项目还很陌生,不确定为什么)。
谢谢你!
答案1
粗略地说,如果您想为未指向运行 certbot 的系统的主机名/域名请求 Let's Encrypt 证书,那么您无法通过响应对该主机名/域名发出的 Web 请求来验证和确认您是否有权控制该域名。
您需要使用其他方法进行身份验证,例如使用其中一个 DNS 插件或使用手册中列出的手动方法https://certbot.eff.org/docs/using.html#dns-plugins
当主机名确实指向您的服务器,但这些站点监听除 80 或 443 之外的端口时,请使用 --webroot 选项将质询响应文件写入监听端口 80/443 的站点的文档根目录中