域名配置

管理网站域名、SSL证书和跨域访问配置

配置说明:

  • 域名设置:当前配置域名为 tcm.qidaizhi.com,适用于宝塔面板部署
  • SSL证书:宝塔面板支持Let's Encrypt自动申请和续期,无需手动配置证书路径
  • CORS配置:设置允许跨域访问的域名列表,同一域名部署可设置为"允许所有源"
  • 注意事项:修改域名配置后需要重启PM2服务(在宝塔面板PM2管理器中重启)

配置中心

域名设置

网站的主域名,不包含协议(http://或https://)

支持多个备用域名,每行输入一个

Node.js服务器监听端口(宝塔面板中建议使用3000或自定义端口,通过Nginx反向代理)

SSL证书配置

启用HTTPS

CORS跨域配置

每行输入一个允许的源地址,包含协议(http://或https://)

用逗号分隔的请求头列表

允许跨域请求携带Cookie和认证信息

宝塔面板部署指南

1 域名解析(阿里云DNS)

在阿里云DNS控制台添加以下解析记录:

记录类型
主机记录
记录值
TTL
A
tcm
您的服务器IP地址
600

解析生效时间通常为5-10分钟

2 宝塔面板网站配置

  1. 登录宝塔面板,进入"网站" → "添加站点"
  2. 域名填写:tcm.qidaizhi.com
  3. 选择"纯静态"或"Node项目"(推荐Node项目)
  4. 根目录设置为项目路径,例如:/www/wwwroot/tcm.qidaizhi.com

3 Nginx反向代理配置

在宝塔面板中,进入网站设置 → "配置文件",替换为以下配置:

server {
    listen 80;
    listen 443 ssl http2;
    server_name tcm.qidaizhi.com;
    
    # SSL证书配置(宝塔面板会自动配置)
    ssl_certificate /www/server/panel/vhost/cert/tcm.qidaizhi.com/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/tcm.qidaizhi.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    
    # 强制HTTPS
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    
    # 静态文件目录
    root /www/wwwroot/tcm.qidaizhi.com;
    index index.html;
    
    # 前端静态文件
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    # API反向代理到Node.js服务
    location /api {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        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;
        proxy_cache_bypass $http_upgrade;
    }
    
    # WebSocket支持(如果需要)
    location /socket.io {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    
    # 静态资源缓存
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

保存后,点击"重载配置"使配置生效

4 SSL证书配置

  1. 在宝塔面板中,进入网站设置 → "SSL"
  2. 选择"Let's Encrypt",勾选域名 tcm.qidaizhi.com
  3. 点击"申请",等待证书申请完成(通常1-2分钟)
  4. 开启"强制HTTPS",自动将HTTP请求重定向到HTTPS
  5. 证书会自动续期,无需手动管理

注意:申请SSL证书前,确保域名已正确解析到服务器IP

5 Node.js服务部署(PM2)

在宝塔面板中,进入"软件商店" → 安装"PM2管理器":

  1. 安装PM2管理器后,进入PM2管理界面
  2. 点击"添加项目",选择项目目录:/www/wwwroot/tcm.qidaizhi.com
  3. 启动文件:server.jsapp.js
  4. 项目名称:tcm-chronic-disease
  5. 点击"添加",PM2会自动启动服务

或者使用命令行:

cd /www/wwwroot/tcm.qidaizhi.com
npm install
pm2 start server.js --name tcm-chronic-disease
pm2 save
pm2 startup

6 防火墙配置

在宝塔面板中,进入"安全" → "防火墙":

  • 开放端口:80(HTTP)
  • 开放端口:443(HTTPS)
  • 开放端口:3000(Node.js服务,仅内网访问)
  • 关闭端口:3000 的外网访问(通过Nginx反向代理访问)

安全提示:确保3000端口仅允许127.0.0.1访问,不要对外开放

7 验证部署

部署完成后,访问以下地址验证:

如果访问正常,说明部署成功!

配置说明

域名配置:配置后需要重启服务器才能生效。宝塔面板部署时,建议使用Nginx作为反向代理,Node.js服务监听3000端口(仅内网)。
SSL证书:生产环境强烈建议启用HTTPS。宝塔面板支持Let's Encrypt免费证书,可自动申请和续期,无需手动管理。
CORS配置:如果前端和后端部署在同一域名,CORS配置可以设置为"允许所有源"。如果部署在不同域名,需要配置具体的源地址。
宝塔面板优势:图形化界面管理,一键SSL证书申请,自动续期,Nginx配置可视化,PM2进程管理,非常适合生产环境部署。