摘要:关于域名和 NGINX 证书的配置,通常涉及以下几个步骤: 1. 获取 SSL 证书 首先,您需要获取 SSL 证书,常见的有两种方法: - 使用 Let's Encrypt(免费的 SSL 证书) - 购买商业证书(例如从 Symantec、DigiCert 等) 如果使用 Let's Enc...
关于域名和 NGINX 证书的配置,通常涉及以下几个步骤:
1. 获取 SSL 证书
首先,您需要获取 SSL 证书,常见的有两种方法:
- 使用 Let's Encrypt(免费的 SSL 证书)
- 购买商业证书(例如从 Symantec、DigiCert 等)
如果使用 Let's Encrypt,可以通过工具如 `certbot` 来申请和安装证书。
2. 安装 NGINX
确保您已经安装了 NGINX。可以通过如下命令安装(以 Ubuntu 为例):
```bash
sudo apt update
sudo apt install nginx
```
3. 配置 SSL 证书
假设您已经获得 SSL 证书,并将证书文件存放在服务器上,通常证书文件包括:
- `cert.pem`(证书文件)
- `privkey.pem`(私钥文件)
- `chain.pem`(证书链文件,某些证书供应商会提供)
将这些文件放到服务器的某个目录下,例如:
```
/etc/ssl/certs/
/etc/ssl/private/
```
4. 配置 NGINX
在 NGINX 配置文件中(通常是 `/etc/nginx/sites-available/default` 或 `/etc/nginx/conf.d/default.conf`)添加 HTTPS 配置。
例子:
```nginx
server {
listen 80;
server_name www.example.com example.com;
# 强制 HTTP 跳转到 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;
ssl_trusted_certificate /etc/ssl/certs/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:...';
location / {
# 配置您的 web 服务
root /var/www/html;
index index.html index.htm;
}
}
```
在此配置中:
- 80 端口的服务器配置用于将 HTTP 流量重定向到 HTTPS。
- 443 端口的服务器配置用于处理 HTTPS 流量,并且您需要指定证书文件的位置。
5. 重启 NGINX
配置完成后,重启 NGINX 以使改动生效:
```bash
sudo systemctl restart nginx
```
6. 验证配置
打开浏览器,访问您的域名,检查是否能够成功通过 HTTPS 加载页面,并且证书是否正确安装(浏览器地址栏会显示一个锁图标)。
常见问题
1. 证书续期:如果使用 Let's Encrypt,证书需要每 90 天续期。可以通过 `certbot` 自动续期:
```bash
sudo certbot renew
```
2. 错误排查:如果 NGINX 启动失败,可以通过查看错误日志来排查问题:
```bash
sudo tail -f /var/log/nginx/error.log
```
通过这些步骤,您就可以成功为您的域名配置 NGINX SSL 证书。如果遇到任何问题,随时可以联系我!