lua-resty-auto-ssl 项目教程
lua-resty-auto-ssl项目地址:https://gitcode.com/gh_mirrors/lua/lua-resty-auto-ssl
1. 项目的目录结构及介绍
lua-resty-auto-ssl 项目的目录结构如下:
lua-resty-auto-ssl/
├── conf
│ └── nginx.conf
├── lib
│ └── resty
│ └── auto-ssl
│ ├── init.lua
│ ├── ssl.lua
│ └── ...
├── README.md
└── ...
conf/
:包含 Nginx 配置文件。lib/resty/auto-ssl/
:包含项目的主要 Lua 脚本文件。README.md
:项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件主要是 lib/resty/auto-ssl/init.lua
。这个文件负责初始化自动 SSL 功能,并设置必要的配置。
-- lib/resty/auto-ssl/init.lua
local auto_ssl = require "resty.auto-ssl"
auto_ssl:init()
3. 项目的配置文件介绍
项目的配置文件主要是 conf/nginx.conf
。这个文件包含了 Nginx 的配置,以及如何使用 lua-resty-auto-ssl 模块。
# conf/nginx.conf
http {
lua_shared_dict auto_ssl 1m;
lua_shared_dict auto_ssl_settings 64k;
init_by_lua_block {
auto_ssl = (require "resty.auto-ssl") new()
auto_ssl:set("allow_domain", function(domain) return true end)
auto_ssl:set("dir", "/etc/resty-auto-ssl")
auto_ssl:init()
}
init_worker_by_lua_block {
auto_ssl:init_worker()
}
server {
listen 443 ssl;
ssl_certificate_by_lua_block {
auto_ssl:ssl_certificate()
}
ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt;
ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key;
root /var/www/myapp.com/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$query_string;
}
}
}
这个配置文件设置了自动 SSL 功能,并指定了 SSL 证书的路径和处理逻辑。
lua-resty-auto-ssl项目地址:https://gitcode.com/gh_mirrors/lua/lua-resty-auto-ssl