Nginx配置http和https的实现步骤
码农追梦人
2024-04-02 17:21
短信预约 -IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关Nginx配置http和https的实现步骤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Nginx 配置 HTTP 和 HTTPS
总述
Nginx 是一种流行的 Web 服务器,可用于配置 HTTP 和 HTTPS 连接。通过配置 SSL 证书,可以为网站启用 HTTPS,从而确保数据安全和隐私。
具体步骤
1. 获取 SSL 证书
- 从受信任的证书颁发机构 (CA) 获取 SSL 证书。
- 证书应包含颁发机构的根证书、中间证书和服务器证书。
2. 配置 Nginx 虚拟主机
- 在 Nginx 配置文件中,创建一个虚拟主机块,指定要启用 HTTPS 的域名。
- 示例:
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
}
3. 设置 SSL 证书和密钥
- 在 Nginx 虚拟主机块中,使用以下指令指定 SSL 证书和密钥:
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
4. 配置 HTTPS 重定向
- 在 HTTP 虚拟主机块中,使用重定向指令将 HTTP 请求重定向到 HTTPS:
return 301 https://$host$request_uri;
5. 设置 SSL 参数(可选)
- 可以根据需要设置以下 SSL 参数:
- ssl_protocols:指定允许的 SSL/TLS 协议。
- ssl_ciphers:指定允许的加密套件。
- ssl_prefer_server_ciphers:优先使用服务器指定的加密套件。
- ssl_session_cache:启用 SSL 会话缓存以提高性能。
示例 Nginx 配置
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
}
验证配置
- 重新加载 Nginx 配置:
sudo nginx -s reload
。 - 使用在线 SSL 检查工具,例如 SSL Labs,检查 HTTPS 配置。
- 在浏览器中访问网站,确保安全连接(显示 HTTPS 和挂锁图标)。
以上就是Nginx配置http和https的实现步骤的详细内容,更多请关注编程学习网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341