快速获取或续订多个域的LetsEncrypt SSL证书。自动将nginx配置为https前端和http反向代理。

multicerti的Python项目详细描述


快速展开

<H3>1。要求

nginx

multicerti需要nginx。使用您喜爱的包管理器安装它,或从https://nginx.org/en/download.html" rel="nofollow">https://nginx.org/en/download.html

如果您已经在服务器上使用了nginx并且已经定制了nginx的配置,那么您应该备份当前的nginx.conf,因为multicerti会覆盖它。

在freebsd上,通过运行

sysrc nginx_enable=YES

巨蟒3

需要Python3.3或更高版本。如果尚未安装,请使用您喜爱的包管理器安装它。 确保也安装了pip3。通常,您可以通过运行:

python3 -m ensurepip

在debian或ubuntu上,您可能需要从包管理器安装pip3。 您还需要获得python3 dev、libssl dev和libffi dev包,以便正确安装multicerti所需的python模块。

apt-get install python3-pip python3-dev libssl-dev libffi-dev
<H3>2。安装multicerti

安装

pip3 install multicerti

然后运行

multicerti reload

这样,multicerti将检查您的nginx安装并生成其默认配置文件。

<H3>3。编辑multicerti.conf文件

它是一个json文件。默认情况下,它的位置是 /usr/local/etc/multicerti/multicerti.conf 。只需将一个或多个虚拟主机添加到vhosts列表。同时在配置文件中添加一个 registration_email 键。在向certbot注册ssl证书时使用此电子邮件。

{"vhosts":[{"domains":["mysite.example.com"],"protocols":["http","https"],"backends":["10.0.0.2:8080","10.0.0.2:8081"],"http_to_https":true},{"domains":["secure.example.com","payment.example.com"],"protocols":["https"],"backends":["10.0.0.3:80"]},{"domains":["oldsite.example.com"],"protocols":["http","https"],"redirect":"https://mysite.example.com"}],"registration_email":"sysadmin@example.com"}

您可以使用 ".example.com" 字符串将 example.com www.example.com 域添加到列表中。您还可以为虚拟主机条目设置特定的电子邮件地址。例如:

{"vhosts":[{"domains":[".example.com"],"protocols":["http","https"],"backends":["10.0.0.2:8080","10.0.0.2:8081"],"registration_email":"bob@example.com","http_to_https":true}],"registration_email":"sysadmin@example.com",}

这将使用相同的ssl证书注册 example.com www.example.com 域,使用 bob@example.com 作为注册电子邮件地址。顾名思义, http_to_https 选项将所有http请求重定向到https url。

<H3>4。运行multicerti

如果您使用的服务器已经定制了nginx安装,那么您应该备份 nginx.conf ,因为multicerti会覆盖它。

现在以根用户身份运行:

multicerti reload

这就是你要做的。这将注册和/或续订您的所有ssl证书,并将您的所有http和https通信定向到正确的后端。

让我们加密由certbot颁发的证书有效期为90天。作为每月的cron任务运行multicerti reload将在适当的时候更新证书。选择一个月中的任意一天和一天中的任意时间,如果你这样做了的话(不是在午夜选择一个月的第一天)。这是为了避免到 的服务器的流量高峰,让我们对其进行加密。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hazelcast CP子系统FencedLock内存使用   java Recaptcha和selenium   基于APR的Apache Tomcat本机库允许在生产环境中实现最佳性能,但在java上找不到。图书馆路径   java循环以相反的顺序打印从2到100的偶数   java JsonPropertyOrder不适用于javax的响应   java在微服务体系结构中,为什么他们说共享REST客户端库不好?   java Androidkeep连接到网站以接收数据库通知   java程序,该程序应该移动一个球,但不执行方法run   java表在更新时不更新,但返回相反的值   java Spring事务,EntityManager生命周期   java为什么我的pbkdf2实现如此缓慢(相对于SQLCipher)?   java在特定模式后提取子字符串   java重复数组列表项   java将base64字符串图像显示为超链接   RMIO Java RMI连接拒绝   运行java项目时出错   java IllegalBlockSizeException:使用填充密码解密时,输入长度必须是8的倍数   在Java中检测MySQL BLOB的mimetype   java我可以合理地期望从系统中得到的最差的解决方案是什么。纳米时代?