-
Notifications
You must be signed in to change notification settings - Fork 442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nginx 上配置 HTTPS 环境 #62
Comments
修复方案是运行 |
更新证书时,如果 crontab 脚本不生效,或者执行
则需要运行下列命令手动更新
链接:Failed authorization procedure via DNS
更新完毕之后重新启动服务器 |
@dwqs 我阿里云配置certbot后可以上https,但是要翻墙才能上,这是什么原因?之前是不用翻墙的,今天发现网站打不开,log里面也没有错,翻墙后就能正常访问了。请问这是什么原因?谢谢 |
@Fabriceli 这个我也不是很清楚了 之前我在阿里云上配置的时候 没有出现你的这种情况 |
你好,我用-d参数配置多个域名合在一个证书中时,浏览器检查是ok的,myssl检查不匹配,我不知道是不是因为我负载均衡的问题,请问你有测试过这样吗 |
@Victorkangsh 这个我没测试过 |
@dwqs 我弄明白了,阿里云slb分默认证书和多域名证书,当把san证书加为多域名证书时,也就是默认证书不是san证书,san证书的非主域名检测会指向默认证书,只有san的主域名是正确指向san证书的。至于普通nginx没有测试,不知道情况 |
@Victorkangsh 多谢分享 |
环境
步骤
通过
yum install certbot
或者按照官方步骤,安装certbot
之后,运行如下命令开始生成证书:email
:指定一个邮箱cert-name
:设定证书名字d
:对应的域名w
:域名对应的根目录多个域名正式其实就是将
-w
和-d
部分重复即可。但实际情况并不如此顺利,可能会碰到如下错误:
相关的 issue 讨论:#4886,#5104
尝试 issue#5104 给出的一个方式:
运行之后再次生成证书时,又出现如下错误:
升级
pyOpenSSL
:ImportError
依然存在。最后的解决方案是顺序运行如下命令:
如果证书创建成功的话会在终端看到类似如下的输出:
证书生成之后呢,需要再配置 Web Server,我使用的是 Nginx,如果你使用的是 Apache 或者别的服务器,需要自行更改对应的配置文件。
证书更新
由于
certbot
所使用的letsencrypt
证书只有90
天的有效期,所以需要定期更新证书。测试自动更新功能:
如果功能正常,可以在
crontab
里添加计划任务来完成。在/etc/crontab
文件里添加以下定时任务:以上每月1号5点30分执行更新,这个频率可以自己设定,不能太频繁。
--renew-hook
后面根据自己的 web server 来改成相应的命令,上面是 nginx 作为 web server,证书更新后重新加载配置文件。后记
对于 Python 2.6/CentOS 6/Nginx 的环境,则需要通过
certbot-auto
脚本安装:创建证书:
但是有可能会出现如下的错误:
相关 issue:#5523
运行如下命令:
export LC_ALL=C
再运行生成证书的命令即可,然后再配置对应的
server
:测试自动更新功能:
如果功能正常,可以在
crontab
里添加计划任务来完成。在/etc/crontab
文件里添加以下定时任务:修改配置之后,运行
nginx -s reload
重新加载配置文件,重新访问配置的域名地址,地址栏前则会有对应的 Secure 标记:相关文章
The text was updated successfully, but these errors were encountered: