完整的NGINX配置HTTPS的教程如下:
- 获取SSL证书:
在配置HTTPS之前,需要先获取有效的SSL证书。可以购买商业SSL证书,也可以使用免费的证书颁发机构(CA)如Let's Encrypt获取证书。
- 安装SSL证书:
将获取的SSL证书文件和私钥文件上传到服务器上。 - 配置NGINX:
- 打开NGINX配置文件
nginx.conf
,找到对应的服务器配置块(server
块)。 - 添加HTTPS相关配置:
server {
listen 80;
server_name your_domain.com;
# 重定向HTTP请求到HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com;
# SSL证书和私钥路径
ssl_certificate /path/to/your_domain_com.crt;
ssl_certificate_key /path/to/your_domain_com.key;
# SSL配置
ssl_protocols TLSv1.2; # 指定支持的SSL协议版本
ssl_prefer_server_ciphers on; # 使用服务器端优先的加密套件
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; # 定义加密套件
ssl_session_cache shared:SSL:10m; # 缓存会话以提高性能
ssl_session_timeout 10m; # 缓存会话的超时时间
# 其他HTTP配置...
}
listen 443 ssl;
:监听443端口并启用SSL。server_name
:设置服务器的域名。ssl_certificate
和ssl_certificate_key
:指定SSL证书和私钥的路径。ssl_protocols
:指定支持的SSL协议版本。ssl_prefer_server_ciphers
:使用服务器端优先的加密套件。ssl_ciphers
:定义加密套件,这里使用了一组推荐的安全套件。ssl_session_cache
和ssl_session_timeout
:配置SSL会话缓存,提高性能。
- 重启NGINX:
完成配置后,重启NGINX服务以使HTTPS生效:
sudo service nginx restart
现在,你已经成功配置了NGINX的HTTPS。当客户端访问服务器的域名时,NGINX会使用SSL证书对连接进行加密,实现HTTPS安全访问。请注意,这只是一个简单的示例,实际应用中可能需要更多的配置和优化,例如添加HSTS、OCSP Stapling等功能,以增强HTTPS的安全性。