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

相关文章
|
7月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
604 1
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
390 18
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
646 17
|
7月前
|
安全 数据建模 网络安全
阿里云SSL证书价格一年多少钱?单域名和通配符SSL证书收费价格表
阿里云SSL证书提供免费及多种付费选择,免费版为DigiCert品牌,有效期3个月。付费证书涵盖DV、OV、EV类型,支持DigiCert、GlobalSign等品牌,价格从238元至万元不等,满足不同网站安全需求。
1037 0
|
8月前
|
数据建模 应用服务中间件 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加端口的方式进行通信
|
9月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
1916 10
|
8月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
378 0
|
应用服务中间件 网络安全 nginx
Nginx配置SSL证书时——nginx:[emerg]unknowndirectivessl错误
Nginx配置SSL证书时——nginx:[emerg]unknowndirectivessl错误
1953 0
|
域名解析 网络协议 应用服务中间件
Docker搭建Nginx并配置ssl证书
Docker搭建Nginx并配置ssl证书
2852 1
Docker搭建Nginx并配置ssl证书
|
应用服务中间件 网络安全 nginx
使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书
本文引导如何用Nginx Proxy Manager (NPM)配置Halo的反向代理与SSL证书。NPM简化了Nginx的配置流程,适合无Nginx基础的用户。安装NPM无需额外安装Nginx,避免端口冲突。通过`docker-compose.yaml`启动NPM服务,并映射必要的端口。配置Halo反向代理需登录NPM面板,添加代理主机,设置域名、转发IP等参数。NPM支持自动申请与续期SSL证书,确保网站安全访问。更多Halo安装细节,请参考[如何在Linux云服务器上通过Docker Compose部署安装Halo](https://zhangfeidezhu.com/?p=631).
1250 0
使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书