当前位置: 首页 > news >正文

Nginx域名与SSL证书配置完整流程

Nginx域名与SSL证书配置完整流程

主要有四步:
第一步:安装nginx(如果已经安装,跳过)
第二步:创建SSL证书存放目录,并上传证书
第三步:编写nginx配置文件
第四步:检查配置并重新加载nginx
详细步骤如下:

一、准备工作

1. 确认证书文件

从证书颁发机构获取以下文件:

  • 域名证书文件(通常为 .crt.pem 格式)
  • 证书链文件(chain bundle)
  • 私钥文件(.key 格式)

2. 服务器环境检查

# 检查Nginx是否安装
nginx -v# 检查防火墙状态
systemctl status firewalld

二、上传证书文件

1. 创建证书目录

sudo mkdir -p /etc/nginx/ssl/xy.com.cn

2. 上传证书文件

将证书文件上传到服务器:

  • www.xy.com.cn.crt (域名证书)
  • www.xy.com.cn.key (私钥文件)

3. 设置文件权限

sudo chmod 600 /etc/nginx/ssl/xy.com.cn/*
sudo chown root:root /etc/nginx/ssl/xy.com.cn/*

三、Nginx配置

1. 创建主配置文件

/etc/nginx/conf.d/xy.com.cn.conf 创建配置文件:

# HTTP重定向到HTTPS
server {listen 80;server_name www.xy.com.cn xy.com.cn;# 小程序域名验证可能需要这个(如果微信要求)location /.well-known/ {root /var/www/html;access_log off;}# 重定向所有HTTP流量到HTTPSreturn 301 https://$server_name$request_uri;
}# HTTPS服务器配置
server {listen 443 ssl http2;server_name www.xy.com.cn xy.com.cn;# SSL证书配置ssl_certificate /etc/nginx/ssl/xy.com.cn/www.xy.com.cn.crt;ssl_certificate_key /etc/nginx/ssl/xy.com.cn/www.xy.com.cn.key;# 如果有证书链文件# ssl_trusted_certificate /etc/nginx/ssl/xy.com.cn/chain.crt;# SSL安全配置ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;# 安全头设置add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;add_header X-Frame-Options DENY;add_header X-Content-Type-Options nosniff;add_header X-XSS-Protection "1; mode=block";# 小程序后端API配置location /api/ {proxy_pass http://localhost:8080; # 根据实际后端服务端口调整proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# CORS设置 - 小程序需要add_header Access-Control-Allow-Origin '*' always;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE' always;add_header Access-Control-Allow-Headers 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Requested-With' always;if ($request_method = 'OPTIONS') {return 204;}}# 静态资源服务location /static/ {alias /var/www/xy.com.cn/static/;expires 1y;add_header Cache-Control "public, immutable";}# 根路径配置(根据实际需求调整)location / {# 可以是静态文件或反向代理到前端服务root /var/www/xy.com.cn/html;index index.html index.htm;# 或者如果是单页应用,添加try_filestry_files $uri $uri/ /index.html;}# 健康检查端点location /health {access_log off;return 200 "healthy\n";add_header Content-Type text/plain;}# 日志配置access_log /var/log/nginx/xy.com.cn.access.log;error_log /var/log/nginx/xy.com.cn.error.log;
}

2. 检查并启用配置

# 检查配置文件语法
sudo nginx -t# 重新加载Nginx配置
sudo nginx -s reload
# 或
sudo systemctl reload nginx

四、防火墙配置

1. 开放端口

# 如果使用firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

五、SSL证书验证

1. 在线SSL检查

使用以下工具验证SSL配置:

  • SSL Labs SSL Test
  • SSL Checker

2. 本地验证

# 通过nginx检查443
nginx -v# 检查443端口监听
sudo netstat -tlnp | grep 443# 测试HTTPS连接
curl -I https://www.xy.com.cn

六、小程序相关配置

1. 小程序服务器域名配置

在微信小程序后台配置服务器域名:

request合法域名:

https://www.xy.com.cn

uploadFile合法域名:

https://www.xy.com.cn

downloadFile合法域名:

https://www.xy.com.cn

2. 小程序特定配置考虑

# 在小程序配置中添加以下内容
location /miniprogram/ {# 小程序API特定配置proxy_pass http://backend_service;# 小程序需要的特殊头部add_header Access-Control-Allow-Origin '*' always;add_header Access-Control-Allow-Credentials true;# 超时设置调整proxy_connect_timeout 30s;proxy_read_timeout 30s;
}

七、监控和维护

1. 设置日志轮转

/etc/logrotate.d/nginx 确保包含:

/var/log/nginx/xy.com.cn.*.log {dailymissingokrotate 52compressdelaycompressnotifemptycreate 644 nginx nginxpostrotate/bin/kill -USR1 `cat /var/run/nginx.pid 2>/dev/null` 2>/dev/null || trueendscript
}

2. 证书自动续期(如果使用Let’s Encrypt)

# 如果使用Certbot
sudo certbot renew --dry-run# 设置自动续期cronjob
sudo crontab -e
# 添加:0 12 * * * /usr/bin/certbot renew --quiet

八、故障排查

检查命令:

# 查看Nginx错误日志
sudo tail -f /var/log/nginx/xy.com.cn.error.log# 检查进程状态
sudo systemctl status nginx# 测试后端连接
curl http://localhost:8080/health

按照这个流程配置完成后,你的域名 www.xy.com.cn 就应该可以通过HTTPS正常访问,并且可以为小程序提供后端API服务了。

http://www.dtcms.com/a/601413.html

相关文章:

  • 美食网站要怎么做自己做相册的网站
  • 全国 网站备案 数量电子设计工程官网
  • 一、UDP以太网帧格式
  • 网络协议设计原则简介和资料推荐
  • 有哪些程序网站品牌和商标的区别
  • C语言编译器选择指南 | 初学者实用教程
  • 小智机器人MCP
  • 对于给不良网站发律师函如何做收银系统哪个软件好
  • 网站管理工作总结安阳县事业单位招聘2021
  • RK-Android11-修改系统的鼠标光标
  • vs2022 IDE扩展无法卸载/VSI 插件卸载及实例清理
  • 华为OD机试 双机位A卷 - 智能驾驶 (JAVA Python C++ JS GO)
  • 广州网站制作实力乐云seo怎么提高网站的流量
  • 开源工具 yt-dlp 超简易上手版
  • 郑州网站优化外包顾问上海网站建设 分类广告
  • SSM基于WEB的教学质量评价系统的设计与实现p9ak6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • PCB常用规则
  • Node.js 集成百度语音
  • 求一个网站开发接项目的平台做网站的外包需要分享客户信息
  • 怎么用PS做网站横幅wordpress 抽奖
  • 【开题答辩全过程】以 基于Vue.js和Node.js的在线旅游平网站的设计和实现为例,包含答辩的问题和答案
  • MySQL快速入门——用户管理
  • 中咨城建设计南京网站网站建设南昌
  • 大连网站制作流程在哪里可以免费自学seo课程
  • [智能体设计模式]第3章 并行化
  • Prisma 原生 SQL 多表联查完整指南
  • 哪个网站原创文章旅游集团网站建设
  • AI搜索不提你的品牌?从GEO诊断开始
  • Elasticsearch 7.6 安装 Jieba 中文分词插件完整教程
  • OpenCV 加载时出现 `no opencv_java451 in java.library.path` 错误