Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。通过配置 Nginx,可以实现多个子域名的指向和反向代理功能。
假设我们要配置一个子域名 blog.example.com
指向一个后端服务器 192.168.1.100
的端口 8080
。
首先需要在 DNS 服务器上配置子域名的解析:
blog.example.com. 3600 IN A 192.168.1.100
编辑 Nginx 配置文件(通常是 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
),添加以下内容:
server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://192.168.1.100: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;
}
}
保存配置文件后,重启 Nginx 使配置生效:
sudo systemctl restart nginx
原因:DNS 配置错误或未生效。
解决方法:
nslookup
或 dig
命令检查子域名解析是否正常。原因:Nginx 配置文件语法错误或配置项不正确。
解决方法:
nginx -t
命令检查配置文件语法是否正确。proxy_pass
和 server_name
。原因:后端服务器 IP 地址或端口配置错误,或者后端服务器本身存在问题。
解决方法:
proxy_pass
配置是否正确。通过以上配置和解决方法,你应该能够成功配置 Nginx 以支持子域名。
领取专属 10元无门槛券
手把手带您无忧上云