要在Nginx中配置反向代理来绑定二级域名,你需要完成以下几个步骤:
首先确保你的DNS记录中已经添加了二级域名的A记录或CNAME记录指向你的服务器IP地址。
例如:
subdomain.yourdomain.com A 192.168.1.100
在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;
}
}
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;
}
}
如果你需要配置多个二级域名,可以创建多个server块:
server {
server_name sub1.yourdomain.com;
# 其他配置...
}
server {
server_name sub2.yourdomain.com;
# 其他配置...
}
如果你想匹配任意二级域名,可以使用通配符:
server {
server_name *.yourdomain.com;
# 其他配置...
}
配置完成后:
sudo nginx -t
sudo systemctl reload nginx
# 或
sudo service nginx reload
如果你需要更具体的配置或有任何问题,请提供更多关于你的具体需求的信息。