在 Debian 上安装 Nginx 并支持 SSL,通常分两种情况:系统自带 Nginx 和 手动编译 Nginx。下面分别说明。
Debian 官方仓库里的 Nginx 已经编译好 SSL 支持(OpenSSL),不需要额外依赖。
sudo apt update
sudo apt install nginx
安装完成后,SSL 模块默认已启用(--with-http_ssl_module)。
Nginx 使用 SSL 依赖以下底层库(通常系统已自带):
libssl1.1 / libssl3
openssl
ca-certificates
如不确定,可手动确认:
sudo apt install libssl3 openssl ca-certificates
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
/etc/nginx/ssl/xxx.crt
/etc/nginx/ssl/xxx.key
如果你是自己 ./configure 编译 Nginx,需要以下依赖:
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev
sudo apt install libssl-dev
./configure --with-http_ssl_module
make
sudo make install
如果用到以下功能,还需对应模块:
| 功能 | 模块 |
|---|---|
| HTTPS | http_ssl_module |
| HTTP/2 | http_v2_module |
| 反向代理 HTTPS | http_proxy_module |
| 证书校验 | ssl_verify_client |
nginx -V 2>&1 | grep ssl
看到 --with-http_ssl_module 就说明没问题。
如果你告诉我:
我可以给你更精确的命令。