插件窝 干货文章 nginx反向代理二级域名怎么绑定

nginx反向代理二级域名怎么绑定

配置 Nginx server proxy 881    来源:    2025-04-23

Nginx 反向代理配置二级域名指南

要在Nginx中配置反向代理来绑定二级域名,你需要完成以下几个步骤:

1. DNS配置

首先确保你的DNS记录中已经添加了二级域名的A记录或CNAME记录指向你的服务器IP地址。

例如:

subdomain.yourdomain.com A 192.168.1.100

2. Nginx配置

基本反向代理配置

在Nginx的配置文件中(通常在/etc/nginx/conf.d//etc/nginx/sites-available/目录下)创建一个新的配置文件:

server {
    listen 80;
    server_name subdomain.yourdomain.com;

    location / {
        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;
    }

    # 可选:静态文件处理
    location /static/ {
        alias /path/to/your/static/files/;
        expires 30d;
    }
}

带SSL的配置(推荐)

server {
    listen 80;
    server_name subdomain.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name subdomain.yourdomain.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        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;
    }
}

3. 多个二级域名配置

如果你需要配置多个二级域名,可以创建多个server块:

server {
    server_name sub1.yourdomain.com;
    # 其他配置...
}

server {
    server_name sub2.yourdomain.com;
    # 其他配置...
}

4. 通配符二级域名配置

如果你想匹配任意二级域名,可以使用通配符:

server {
    server_name *.yourdomain.com;
    # 其他配置...
}

5. 测试和重载配置

配置完成后:

  1. 测试Nginx配置是否正确:
sudo nginx -t
  1. 如果测试通过,重载Nginx配置:
sudo systemctl reload nginx
# 或
sudo service nginx reload

注意事项

  1. 确保你的后端服务正在运行并且监听正确的端口
  2. 如果使用防火墙,确保相关端口(80, 443)已开放
  3. 对于生产环境,强烈建议使用HTTPS
  4. 可以使用Let's Encrypt免费获取SSL证书

如果你需要更具体的配置或有任何问题,请提供更多关于你的具体需求的信息。