我正在尝试使用 cakephp 安装 LetsEncrypt,但遇到了一些问题。让我描述一下:
首先,我在装有 CentOS 6 的服务器上安装 LetsEncrypt。
正如在几个网站上提到的,它需要将 python 从 2.6 升级到 2.7,因为 LetsEncrypt 需要 Python 2.7。我做到了。
然后,如果我跑步,./letsencrypt-auto
我会得到
“您的操作系统上还没有可用的安装程序;尝试运行“letsencrypt-auto certonly”以获取可以手动安装的证书”
我知道这是正常的,因为 CentOS 6 没有安装程序。
所以我运行./letsencrypt-auto certonly
。出现一个窗口。我可以选择:
- 将文件放在 webroot 目录中
- 自动使用临时网络服务器
所以我按 1。然后我输入我的域名。我看到:
- 输入一个新的 webroot
我按确定,我看到我的根目录。我选择/root
然后我有以下错误:
授权程序失败。www.example.com (http-01): urn:acme:error:unauthorized :: 客户端缺乏足够的授权 :: http://www.example.com/.well-known/acme-challenge/-的响应无效CnpDIgxBB9EOH-BCssGOyiunFjnMlGLWhWw9roE4Ds:“500 内部服务器错误”
重要说明: - 服务器报告了以下错误:
域:www.example.com 类型:未授权详细信息:来自http://www.example.com/.well-known
/acme-challenge/-CnpDIgxBB9EOH-BCssGOyiunFjnMlGLWhWw9roE4Ds 的无效响应:
“
500 Internal Server Error
Inter”要修复这些错误,请确保您的域名
输入正确,并且该域的 DNS A 记录
包含正确的 IP 地址。
这里是 cakephp。如前所述,我正在使用 cakephp。似乎对于这个特定问题,您需要修改 htaccess 文件,如此处所述
我需要添加"RewriteRule ^(\.well-known/.*)$ $1 [L]"
作为第一个重写规则root htaccess
和app/.htaccess
我做到了。
root .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(\.well-known/.*)$ $1 [L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
AddDefaultCharset UTF-8
</IfModule>
app/.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(\.well-known/.*)$ $1 [L]
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
AddDefaultCharset UTF-8
</IfModule>
但我仍然有同样的问题
知道我做错了什么吗?
非常感谢