【发布时间】:2018-09-06 16:30:04
【问题描述】:
我正在使用 Nginx 上游模块配置 Nginx 负载均衡,配置如下:
upstream load {
server loadapi.example.com;
server loadapi.anotherdomain.com down;
}
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://load;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name loadapi.example.com;
root /disk/projects/load/loadapi;
index index.html index.htm index.shtml index.php;
...
...
error_page 404 /404.html;
}
请注意api.example.com 和loadapi.example.com 在同一台服务器上。 loadapi.anotherdomain.com 被解析到另一个提供相同服务的服务器。
在另一台服务器上的loadapi.anotherdomain.com 一切正常。
但是当我使用loadapi.example.com 作为后端时,Nginx 似乎无法正确处理它。我可以在loadapi.example.com 上启动并运行我的服务。但它不适用于上游。(看起来 Nginx 无法正确解析子域名)。
有什么建议吗?提前谢谢。
【问题讨论】:
-
能否在访问期间(或尝试访问)添加 Nginx 的错误/访问日志?
-
@Adriano Martins 是的,我确实在相应的服务器块中添加了访问/错误日志。我发现
loadapi.example.com没有被调用。而是调用另一个服务。(nginx 默认虚拟主机)
标签: nginx configuration dns load-balancing