nginx配置https的ssl证书和域名

简介: 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月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
663 1
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
458 18
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
768 17
|
9月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
10月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
2120 10
|
9月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
423 0
|
11月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
765 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
9月前
|
运维 监控 安全
阿里云SSL证书免费版与收费版有什么区别?免费版SSL证书申请及部署流程参考
在当今数字化时代,网站安全已成为每个网站运营者不可忽视的重要环节。阿里云数字证书管理服务为不同规模的网站提供了多种SSL证书类型和品牌,包括但不限于电商、小型企业、大型企业或个人等。这些SSL证书不仅能有效保护网站数据传输安全,还能提升用户对网站的信任度。本文将详细解析阿里云SSL证书的免费版与收费版之间的差异,并提供选购指南及申请流程,帮助您根据网站规模和业务需求选择最适合的证书。
|
7月前
|
网络协议 应用服务中间件 网络安全
阿里云SSL证书申请具体操作流程,以申请免费SSL证书为例
阿里云免费SSL证书由Digicert提供,单域名可申请20张,有效期3个月。通过数字证书管理控制台,完成购买、域名验证(DNS或文件)、提交审核后下载,支持Nginx、Apache等多服务器格式。
1053 0
|
8月前
|
安全 数据建模 网络安全
阿里云SSL证书价格一年多少钱?单域名和通配符SSL证书收费价格表
阿里云SSL证书提供免费及多种付费选择,免费版为DigiCert品牌,有效期3个月。付费证书涵盖DV、OV、EV类型,支持DigiCert、GlobalSign等品牌,价格从238元至万元不等,满足不同网站安全需求。
1102 0