我有一个由 apache 提供的 django 应用。它通过连接到服务器的原始 IP 进行配置和运行,但由于域名是 .app,我需要配置 SSL 才能使其与我购买的域名一起工作。
我正在尝试完成域控制验证(DCV),但遇到了这个问题:
我无法提供身份验证文件,因为我的服务器无法使用安全连接。但我需要提供文件以获取证书才能建立安全连接。所以我陷入困境。
该文件应该位于以下位置:
http://agileme.app/.well-known/pki-validation/fileauth.txt
我已禁用常见的 django 站点并启用以下站点在端口 80 上提供文件服务:
<VirtualHost *:80>
ServerName agileme.app
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/custom.log combined
<Directory /home/joe/DCV>
Require all granted
</Directory>
DocumentRoot /home/joe/DCV
Alias / /.well-known/pki-validation/fileauth.txt
</VirtualHost>
尝试从 powershell 访问时出现错误:
> wget http://agileme.app/.well-known/pki-validation/fileauth.txt
wget : The underlying connection was closed: Could not establish trust
relationship for the SSL/TLS secure channel.
At line:1 char:1
+ wget http://agileme.app/.well-known/pki-validation/fileauth.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation:
(System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId :WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
新错误(修复 SSL 重定向之后):
PS C:\Users\Joe\Documents\agileme\agileme> wget http://agileme.app/.well-
known/pki-validation/fileauth.txt
wget : Not Found
The requested URL was not found on this server.
Apache/2.4.18 (Ubuntu) Server at agileme.app Port 80
但我知道文件在这里:
(agileenv) joe_blake8424@agileme-server:/home/joe/DCV/.well-known/pki-
validation$ ls
fileauth.txt
并且 DocumentRoot 已设置:
<VirtualHost *:80>
ServerName agileme.app
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/custom.log combined
DocumentRoot /home/joe/DCV
<Directory /home/joe/DCV>
Require all granted
</Directory>
</VirtualHost>
谢谢!
我在 000-default.conf 中有一个 VirtualHost,它还为 agileme:80 提供服务,该服务具有优先权。谢谢大家!!
答案1
谢谢大家的帮助。
我在 000-default 配置中有一个虚拟主机,它也位于 agileme:80,所以我设置来提供 DCV 文件的主机没有执行任何操作。
通过更改该主机的日志文件并发现它没有输出任何内容,从而找到了答案。
谢谢!