下面是“Nginx部署SSL证书的过程”的完整攻略。
1. 生成证书
在部署证书之前,我们需要先生成证书。这里介绍使用 OpenSSL 生成证书的方法。
- 安装 OpenSSL
```bash
# CentOS
$ yum install openssl -y
# Ubuntu/Debian
$ apt-get install openssl -y
```
- 生成证书
使用下面的命令生成证书,其中,example.com
替换成你的域名:
bash
$ openssl req -newkey rsa:2048 -nodes -keyout example.com.key -x509 -days 365 -out example.com.crt
运行命令后,会出现一些提示,按照提示输入需求即可。
执行完命令后,会生成两个文件:
- example.com.key:私钥文件
-
example.com.crt:证书文件
-
将证书文件上传到服务器
将生成的 example.com.key
和 example.com.crt
文件上传至服务器的一个目录中。
2. Nginx 配置
- 修改 Nginx 配置文件
打开 Nginx 的配置文件(一般为 /etc/nginx/nginx.conf
),添加如下配置:
```nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/example.com.crt;
ssl_certificate_key /path/to/example.com.key;
# rest of your config
}
```
其中,server_name
替换为你的域名,/path/to/example.com.crt
和 /path/to/example.com.key
分别替换为你上传证书文件的路径。
- 重新加载 Nginx
在完成配置后,可以通过下面的命令重新加载 Nginx 配置:
bash
$ nginx -s reload
示例说明
接下来,我们将通过两个示例说明如何部署 SSL 证书。
示例一:单域名证书部署
假设我们需要将证书部署在一个单域名网站上,假定该域名为 example.com
。
- 使用上述步骤生成证书。
- 将证书文件上传至服务器目录
/etc/nginx/ssl
中。 - 打开
/etc/nginx/nginx.conf
文件,在其中添加下面的配置:
```nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
```
在上面的配置中,我们将证书文件放在了 /etc/nginx/ssl
目录下。
- 重新加载 Nginx 配置,执行如下命令:
bash
$ nginx -s reload
示例二:多域名证书部署
假设我们需要将证书部署在一个多域名网站上,假定该域名为 example.com
和 www.example.com
。
- 使用上述步骤生成证书。
- 将证书文件上传至服务器目录
/etc/nginx/ssl
中。 - 打开
/etc/nginx/nginx.conf
文件,在其中添加下面的配置:
```nginx
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
```
在上面的配置中,我们将证书文件放在了 /etc/nginx/ssl
目录下。
- 重新加载 Nginx 配置,执行如下命令:
bash
$ nginx -s reload
至此,我们就完成了 Nginx 部署 SSL 证书的过程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx部署SSL证书的过程 - Python技术站