我有以下配置工作:
upstream app_admin {
server 127.0.0.1:8080;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name admin.test.com;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://app_admin;
proxy_redirect off;
}
# for Let's Encrypt to work properly
location ^~ /.well-known {
root /var/www/;
default_type "text/plain";
allow all;
}
}
我安装了Letsencrypt并运行了这个命令,但是我收到了错误:
/ opt / letsencrypt#。/ letsencrypt-auto certonly -a webroot --webroot-path = / var / www -d admin.test.com
执行以下挑战: admin.test.com的http-01挑战 对所有不匹配的域使用webroot路径/ var / www。 等待验证...... 清理挑战 授权程序失败。 admin.test.com(http-01):urn:acme:error:connection ::服务器无法连接到客户端以验证域::提取http://admin.test.com/.well-known/acme-challenge/zlmdu1lWhUxZdwyV_1Kf--vgzEM6ETXr_qZzwR4uf6pM:超时
重要说明: - 服务器报告了以下错误:
域名:admin.test.com 类型:连接 细节:取材 http://admin.test.com /.well-known/acme-challenge/zlmdu1lWhUbfdwyV_1Kf--vgzEM6ETXr_qZytfR4I6pM: 超时
要修复这些错误,请确保您的域名是 正确输入了该域的DNS A记录 包含正确的IP地址。另外,请检查一下 您的计算机具有可公共路由的IP地址,但没有 防火墙阻止服务器与之通信 客户。如果您正在使用webroot插件,则还应进行验证 您正在从您提供的webroot路径提供文件。
我可以在没有问题的情况下访问admin.test.com进入我的网站。
EDIT1:
使用此命令,我得到以下内容:
$ ./letsencrypt-auto certonly --standalone
请输入您的域名(逗号和/或空格分隔)(输入' c' 取消):admin.test.com
获取新证书 执行以下挑战: admin.test.com的tls-sni-01挑战 等待验证...... 清理挑战 授权程序失败。 admin.test.com(tls-sni-01):urn:acme:error:connection ::服务器无法连接到客户端以验证域::超时 预先格式化的文字
同样,我可以通过以下网址访问我的网站:admin.test.com(端口80)。
查看日志的底部
/var/log/letsencrypt/letsencrypt.log
要修复这些错误,请确保您的域名输入正确,并且该域的DNS A记录包含正确的IP地址。此外,请检查您的计算机是否具有可公共路由的IP地址,并且没有防火墙阻止服务器与客户端通信。如果您正在使用webroot插件,则还应验证您是否从您提供的webroot路径提供文件。 2017-06-29 03:09:34,776:INFO:certbot.auth_handler:清理挑战 2017-06-29 03:09:34,777:DEBUG:certbot.plugins.standalone:在::: 443停止服务器... 2017-06-29 03:09:35,014:DEBUG:certbot.log:异常退出: Traceback(最近一次调用最后一次): 文件" /root/.local/share/letsencrypt/bin/letsencrypt" ;,第11行,在 sys.exit(主()) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py" ;,第743行,主要 return config.func(config,plugins) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py" ;,第683行,在certonly lineage = _get_and_save_cert(le_client,config,domains,certname,lineage) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py",第82行,在_get_and_save_cert中 lineage = le_client.obtain_and_enroll_certificate(domains,certname) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/client.py",第344行,在obtain_and_enroll_certificate中 certr,chain,key,_ = self.obtain_certificate(domains) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/client.py",第313行,在obtain_certificate中 self.config.allow_subset_of_names) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/auth_handler.py",第81行,在get_authorizations中 self._respond(resp,best_effort) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/auth_handler.py",第138行,在_respond中 self._poll_challenges(chall_update,best_effort) 文件" /root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/auth_handler.py" ;,第202行,在_poll_challenges中 引发错误。失败挑战(all_failed_achalls) FailedChallenges:授权程序失败。 admin.test.com(tls-sni-01):urn:acme:error:connection ::服务器无法连接到客户端以验证域::超时
我做错了什么?