安装

使用opm:

opm中没有luaossl库,所以这种安装使用的是基于FFI的Openssl后端;需要OpenResty链接了大于等于1.1版本的OpenSSL。

如果有完整的编译工具链,可以使用luarocks安装,需要安装OpenSSL的头文件:

使用

以/etc/openresty目录为例,如果目录不存在,请自行修改。

生成一个账户密钥

生成一个默认证书

在Nginx配置的http 节插入以下内容

CentOS/Fedora等系统的根证书在/etc/ssl/certs/ca-bundle.crt,请根据实际情况修改lua_ssl_trusted_certificate。

首次配置时,建议将init_by_lua_block中的staing = true取消注释,以防错误过多触发限流;测试通过后再加回注释使用生产API。

在需要使用证书的server节插入

配置完成后,reload nginx。

在一般情况下,domain_whitelist必须配置,以防止恶意请求通过伪造SNI头进行拒绝服务攻击。

如果要匹配一系列域名,可以使用__index来实现。比如下面的例子仅匹配example.com的子域名:

RSA+ECC双证书

将init_by_lua_block中的domain_key_types = { 'rsa', 'ecc' }取消注释后,即可同时申请两套证书。

为了防抽风最好给Nginx配置默认的ECC证书

然后在server节中原有的ssl_certificate下增加两行

关于加密套件等的选择可借助搜索引擎。