Nginx:同一服务器上的多个位置

Nginx:同一服务器上的多个位置,nginx,Nginx,这是我的nginx conf文件 server { listen 80; server_name example.com; location / { proxy_pass http://localhost:9000; } location /some/directory { proxy_pass http://localhost:8998; } } server { listen 80; s

这是我的
nginx conf
文件

server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://localhost:9000;
    }

    location /some/directory {
        proxy_pass http://localhost:8998;
    }
}

server {
    listen 80;

    server_name example2.com;

    location / {
        proxy_pass http://localhost:8999;
    }
}
出于某种原因,
example.com
example2.com
正在工作,但
example.com/some/directory
没有

  • localhost:9000
    &
    localhost:8999
    :是站点,它们有自己的路由,并且在本地和代理域(example.com和example2.com)上正常工作
  • localhost:8998
    :是一个golang api,它可以在本地工作,如果我访问
    example.com:8998
    example2.com:8998
    ,它也可以在本地工作
conf有什么问题吗

编辑:向问题添加更多信息

server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://localhost:9000/;
    }

    location /some/directory {
        proxy_pass http://localhost:8998/;
    }
}

server {
    listen 80;

    server_name example2.com;

    location / {
        proxy_pass http://localhost:8999/;
    }
}

试试这个,在代理通行证中添加最后一个/应该有效。

example.com:8998
的工作请求是什么样子的?你是什么意思?它工作正常。在您的配置中,nginx请求
http://localhost:8998/some/directory
。您是否测试相同的请求?我将在问题中添加更多信息以回答您的问题。