Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。通过配置 Nginx,可以实现多个二级域名的管理。
假设我们有两个二级域名 blog.example.com
和 shop.example.com
,分别指向不同的后端服务。
首先,需要在 DNS 服务器上配置这两个二级域名,指向 Nginx 服务器的 IP 地址。
在 Nginx 的配置文件(通常是 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
)中添加以下配置:
server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://backend_blog;
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 {
listen 80;
server_name shop.example.com;
location / {
proxy_pass http://backend_shop;
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;
}
}
upstream backend_blog {
server 192.168.1.1:8080;
}
upstream backend_shop {
server 192.168.1.2:8081;
}
server_name
指定了二级域名的名称。proxy_pass
将请求转发到指定的后端服务器。upstream
块定义了后端服务器的地址和端口。原因:
解决方法:
nginx -t
命令检查 Nginx 配置文件是否有语法错误。原因:
proxy_pass
配置错误:指定的后端服务器地址或端口不正确。解决方法:
proxy_pass
配置,确保地址和端口正确。Host
头。通过以上配置和解决方法,可以实现 Nginx 对多个二级域名的有效管理和路由。
领取专属 10元无门槛券
手把手带您无忧上云