绑定域名

我们通常使用 Nginx 反向代理来绑定域名,以下为 Nginx 示例配置:

server
{
    listen 80;
    # 您的域名
    server_name cms.demo.buildadmin.com;
    # 索引文档,建议将 index.html 放在第一个
    index index.html;

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) {
        return 404;
    }

    # HTTP反向代理相关配置开始 <<<
    location / {
        # 端口为 3000,自定义后请注意修改
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host:$server_port;
        # 添加发往 Node 服务器的请求头,$remote_addr 为客户端 IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_connect_timeout 30s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 30s;
        proxy_redirect off;
    }
    # HTTP反向代理相关配置结束 >>>

    # 有可能会存在的默认规则-【请删除它们】,否则很多资源会404 - <<<
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null;
    }
    # 有可能会存在的默认规则-【请删除它们】,否则很多资源会404 - >>>
}

温馨提示

  • 80 端口未被占用,于 ecosystem.config.cjs 中将端口修改为 80,并将域名解析至服务器ip,即可通过域名访问站点
  • 使用 Nginx 并不会画蛇添足,在多数情况下会更加方便,比如:创建 https 服务,绑定多域名、静态资源请求处理、以后可能添加的重定向规则、负载均衡等等,都可以通过它完成