为了安全,对外提供服务的业务系统一般采用https,本文主要讲解nginx怎么配置https访问。配置 Nginx 支持 HTTPS 通常涉及到以下几个步骤:
1)获取 SSL 证书
你需要从可信任的证书颁发机构(CA)获取 SSL 证书。这可以是免费的证书,比如 Let's Encrypt 提供的证书,也可以是购买的商业证书。
2)安装 SSL 证书
将获取的 SSL 证书文件(通常包括证书文件和私钥文件)上传到服务器。确保证书私钥文件的权限设置为安全。
3)Nginx 配置修改
修改 Nginx 配置文件,通常是/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。以下是一个简单的HTTPS配置示例:
server {
listen 80;
server_name your_domain.com;
return301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_domain.key;
# 配置 SSL 协议和加密算法
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
# 配置其他 SSL 选项
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# 配置 SSL 证书验证和安全性选项
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8;
# 配置其他 Nginx 选项
# ...
location / {
# 配置用于处理 HTTPS 请求的其他指令
# ...
}
}
注意:只需要替换your_domain.com、/path/to/your_domain.crt和/path/to/your_domain.key为你的域名和证书路径。
4)重新加载 Nginx 配置
保存配置文件后,重新加载 Nginx 以应用更改。
# 检查语法
nginx -t
# 重新加载配置
nginx -s reload
确保在配置SSL证书时遵循最佳实践和安全性建议,以确保通信的安全性。此外,还可以使用在线工具来检查你的 SSL 配置,例如 SSL Labs。