nginx配置https的ssl证书和域名

本文涉及的产品
.cn 域名,1个 12个月
简介: nginx配置https的ssl证书和域名

在 Nginx 上部署 HTTPS 证书涉及几个步骤,包括生成密钥和证书签名请求(CSR)、获取 SSL/TLS 证书(可以是自签名证书或从证书颁发机构(CA)获取的证书),然后在 Nginx 配置文件中配置这些证书。以下是一个详细的指南:

生成私钥和CSR
首先,使用 OpenSSL 生成一个私钥(通常命名为 private.key)和一个证书签名请求(CSR,通常命名为 domain.csr)。
bash

生成私钥
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048

生成CSR
openssl req -new -key private.key -out domain.csr \
-subj "/C=YourCountry/ST=YourState/L=YourCity/O=YourOrganization/OU=YourOrgUnit/CN=yourdomain.com"
在生成 CSR 的过程中,你需要填写一些信息,如国家(C)、州/省(ST)、城市(L)、组织(O)、组织单位(OU)和常见名称(CN,即你的域名)。

获取SSL/TLS证书
从证书颁发机构(CA)获取证书
将 domain.csr 文件提交给证书颁发机构(例如 Let's Encrypt、DigiCert、GoDaddy 等)。
根据 CA 的要求,可能还需要提供其他文件(如域名验证文件或组织验证文件)。
CA 验证后,你将收到一个 .crt 文件(证书文件)和一个可能的 .ca-bundle 文件(CA 的根证书和中间证书)。
使用Let's Encrypt(免费证书)
Let's Encrypt 提供了方便的自动化工具 Certbot 来获取和续订证书。
bash

安装Certbot(基于Ubuntu/Debian)
sudo apt update
sudo apt install certbot python3-certbot-nginx

使用Certbot获取证书并自动配置Nginx
sudo certbot --nginx
Certbot 会自动处理证书获取和 Nginx 配置更新。

配置Nginx使用HTTPS
编辑你的 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/yourdomain),添加或修改以下部分:
nginx
server {
listen 443 ssl;
server_name yourdomain.com;

证书和私钥文件路径

ssl_certificate /path/to/your/fullchain.crt; # 包含证书和中间证书
ssl_certificate_key /path/to/your/private.key;

SSL设置

ssl_protocols TLSv1.2 TLSv1.3; # 仅使用安全的协议
ssl_ciphers HIGH:!aNULL:!MD5; # 安全的加密算法
ssl_prefer_server_ciphers on; # 使用服务器指定的加密算法

location / {

# 你的其他配置  

}
}

如果你还想同时支持HTTP重定向到HTTPS,可以添加以下server块
server {
listen 80;
server_name yourdomain.com;

return 301 https://$host$request_uri;
}

  1. 测试和重启Nginx
    在保存并关闭配置文件后,测试 Nginx 配置是否正确:

bash
sudo nginx -t
如果配置正确,重启 Nginx 以应用更改:

[kod.kashou99.com)
[kod.lemir2.com)
[kod.kyznw.com)
[kod.limve.com)
[kod.ld5166.com)
[kod.lmysw.com)
[kod.lvfl.net)
[kod.malatoday.com)
[kod.makpara.net)
bash
sudo systemctl restart nginx

  1. 验证HTTPS连接
    打开浏览器,访问 https://yourdomain.com,你应该看到一个绿色的锁图标,表示连接是安全的。

注意事项
证书续期:确保定期检查并续订证书,特别是对于从 CA 获取的证书,以避免证书过期导致的服务中断。
备份:定期备份你的私钥和证书文件。
安全性:确保你的 Nginx 配置文件和服务器具有适当的权限和安全性设置。
通过以上步骤,你应该能够在 Nginx 上成功部署 HTTPS 证书。

分类: Linux

相关文章
|
8天前
|
Web App开发 安全 网络协议
多域名 SSL 证书是什么? 多域名 SSL 证书申请流程
多域名SSL证书是保护多个网站时的高效选择,它使得单个证书能够保护多个域名(网站)。这种证书通过在用户的Web浏览器和托管网站的服务器之间建立安全的加密连接,确保了敏感信息(包括登录凭证、信用卡信息和其他个人数据)的安全传输。
329 1
|
26天前
|
域名解析 监控 网络协议
slb配置域名注意事项
slb配置域名注意事项
34 11
|
25天前
|
域名解析 监控 安全
slb配置检查域名说明注意事项
slb配置检查域名说明注意事项
27 5
|
25天前
|
负载均衡 安全 网络安全
slb配置健康检查域名
slb配置健康检查域名
25 4
|
25天前
|
负载均衡 应用服务中间件
slb何时需要配置健康检查域名
slb何时需要配置健康检查域名
26 3
|
28天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
52 3
|
28天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
102 3
|
1月前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
111 10
|
1月前
|
运维 监控 安全
在实际应用中,如何选择基于不同域名还是不同 IP 进行代理多服务的配置?
综上所述,在实际应用中选择基于不同域名还是不同 IP 进行代理多服务的配置,需要根据具体的业务需求、可扩展性、性能、安全性以及维护和管理成本等多方面因素进行综合考虑,权衡利弊,选择最适合自己系统架构和运营需求的配置方式。
|
1月前
|
安全 网络安全 数据安全/隐私保护
单域名、多域名、通配符 SSL 证书,你选对了吗?
SSL证书是保护上网安全的重要工具,相当于网站的身份证,确保信息不被窃取。单域名证书保护一个网站,多域名证书可保护多个网站,通配符证书则保护主域名下的所有子域名。选择哪种证书取决于网站规模和需求