我正在为一个网站设置 nginx,我希望它路由到 3 个位置 - 主前端服务器、api 服务器和 wordpress 博客服务器。我可以让它为前端服务器和 wordpress 工作,但上游 api 服务器在通过前端访问 API 时总是给出 404。wordpress 在端口上运行8080
,而 2 个 NodeJS 服务器在8015
&上运行8016
。当点击mysite.com
前端服务器时8015
会显示 UI,但在端口上调用登录 API 时8016
会抛出 404 错误。mysite.com/blog
将 url 重写为后显示 Worpress 博客mysite.com:8080
nginx 配置如下:
upstream backend {
server <IP>:8016
}
server {
listen 80;
server_name mysite.com;
location / {
root /code/public;
index index.html
try_files $uri $uri/ /index.html;
}
location /api/{
proxy_set_header Host $http_host;
proxy_pass http://backend/;
}
location /blog {
root /var/www/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php;
}
location ~\.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://<IP>:8080;
}
location~/\.ht {
deny all;
}
}
这可能是什么问题?