NginxHTTPS服务器搭建详细说明以及案例
2025-03-09
9
Nginx HTTPS服务器搭建详细说明
1. 安装Nginx
首先,确保你的服务器上已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
Ubuntu/Debian:
sudo apt update sudo apt install nginx
CentOS/RHEL:
sudo yum install nginx
2. 获取SSL证书
为了启用HTTPS,你需要一个SSL证书。你可以从以下途径获取:
自签名证书(仅用于测试):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx-selfsigned.key -out /etc/nginx/ssl/nginx-selfsigned.crt
Let's Encrypt免费证书(推荐用于生产环境):
安装Certbot:
sudo apt install certbot python3-certbot-nginx
获取证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
3. 配置Nginx支持HTTPS
编辑Nginx配置文件,通常位于/etc/nginx/sites-available/default
或/etc/nginx/nginx.conf
。
打开配置文件:
sudo nano /etc/nginx/sites-available/default
添加或修改以下内容:
server { listen 443 ssl; server_name yourdomain.com www.yourdomain.com; ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt; # 或使用Let's Encrypt证书路径 ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key; # 或使用Let's Encrypt证书路径 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; }
4. 重启Nginx
保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
5. 验证HTTPS配置
打开浏览器,访问https://yourdomain.com
,确保网站通过HTTPS加载。
案例
假设你有一个域名example.com
,并且已经通过Let's Encrypt获取了SSL证书。
安装Nginx:
sudo apt update sudo apt install nginx
获取Let's Encrypt证书:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com
配置Nginx:
编辑/etc/nginx/sites-available/default
,添加以下内容:server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; }
重启Nginx:
sudo systemctl restart nginx
验证:
访问https://example.com
,确保网站通过HTTPS加载。
通过以上步骤,你已经成功搭建了一个支持HTTPS的Nginx服务器。
本篇文章内容来源于:NginxHTTPS服务器搭建详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。