从letsencrypt.org请求SSL证书
项目描述
从letsencrypt.org请求SSL证书
本模块是为了使您的Odoo安装能够自动从https://letsencrypt.openssl.ac.cn请求SSL证书而编写的。
安装
安装后,此模块会自动在$data_dir/letsencrypt/account.key中为您的letsencrypt.org账户生成一个私钥。如果您想或需要使用自己的账户密钥,请替换该文件。
为了使证书请求正常工作,您的网站需要通过纯HTTP可访问,以下是在您强制客户端使用SSL版本的情况下配置示例。
安装后,触发cron作业“更新letsencrypt证书”,并查看您的日志以获取消息。
此插件依赖于openssl二进制文件以及acme_tiny和IPy Python模块。
您可以使用您的发行版包管理器安装OpenSSL二进制文件。对于Debian和Ubuntu,可以这样操作
sudo apt-get install openssl
要安装ACME-Tiny Python模块,请使用PIP包管理器
sudo pip install acme-tiny
要安装IPy Python模块,请使用PIP包管理器
sudo pip install IPy
配置
此插件请求为配置参数web.base.url中命名的域名请求证书——如果它返回为localhost或类似的内容,则该模块不会请求任何内容。
如果您希望您的证书包含多个替代名称,只需将它们添加为配置参数letsencrypt.altname.N,其中N从0开始。可以添加的域名数量受速率限制的影响。
请注意,所有这些域名必须在端口80上通过HTTP公开可达,并且它们必须有一个指向您的Odoo实例的.well-known/acme-challenge条目的入口。
用法
该模块设置了一个cronjob,它会自动请求和续订证书。
首次运行后,您将在$datadir/letsencrypt中找到一个名为domain.crt的文件,配置您的SSL代理使用此文件作为证书。
有关更多信息,请访问
深入配置
此模块使用openssl生成适合提交给letsencrypt.org的CSRs。为了做到这一点,它将/etc/ssl/openssl.cnf复制到临时文件中,并根据其需求对其进行调整(目前,这只是在需要时添加一个[SAN]部分)。如果您希望模块使用另一个配置模板,设置配置参数letsencrypt.openssl.cnf。
在刷新证书后,模块尝试运行letsencrypt.reload_command的内容,该命令默认为sudo service nginx reload。根据您的服务器配置更改此设置。
您还需要一个相应的sudo配置,例如
your_odoo_user ALL = NOPASSWD: /usr/sbin/service nginx reload
此外,如果您强制用户使用https,您需要像nginx这样的设置
if ($scheme = "http") { set $redirect_https 1; } if ($request_uri ~ ^/.well-known/acme-challenge/) { set $redirect_https 0; } if ($redirect_https) { rewrite ^ https://$server_name$request_uri? permanent; }
以及apache的设置
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{REQUEST_URI} "!^/.well-known/" RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
如果需要将其他nginx站点重定向到您的Odoo实例,请为您的Odoo实例声明一个upstream,并进行如下操作
location /.well-known { proxy_pass http://yourodooupstream; }
如果您使用的是多数据库安装(带有或没有dbfilter选项),其中/web/database/selector返回一个包含多个数据库的列表,那么您需要将letsencrypt插件添加到广泛的负载插件列表中(默认情况下,只有web插件),设置--load选项。例如,--load=web,letsencrypt
错误跟踪器
错误在GitHub Issues上跟踪。如果出现问题,请检查是否已报告您的问题。如果是您首先发现的,请通过提供详细且受欢迎的反馈来帮助我们解决问题here。
致谢
贡献者
Holger Brunn <hbrunn@therp.nl>
Antonio Espinosa <antonio.espinosa@tecnativa.com>
Dave Lasley <dave@laslabs.com>
Ronald Portier <ronald@therp.nl>
ACME实现
图标
维护者
此模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
要为此模块做出贡献,请访问https://odoo-community.org。
项目详情
哈希值 for odoo9_addon_letsencrypt-9.0.1.0.0.99.dev22-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fc139a801a9990d8cf1cf75d39ad1b777cfc6a7c15887285b228e261264dc429 |
|
MD5 | 4ed8a2372e2ad68ae1dfb3c48dc01ccb |
|
BLAKE2b-256 | 5c34adaf6d49161944a20d49d3dc68f3090157ecc1fe09e84c588da7e45ab6fd |