2016-08-15 3 views
2

Это мой файл nginx conf.Nginx: несколько местоположений на том же сервере

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: являются harp.js сайты, у них есть они владеют маршрутизацией, и нормально работать как локально, так и на прокси-е изд доменов (example.com & example2.com).
  • localhost:8998: является golang api, он работает локально, а также если я получаю доступ к example.com:8998 или example2.com:8998.

Есть ли что-то не так с conf?

EDIT: добавлено больше информации.

+0

Как выглядит рабочий запрос для 'example.com: 8998'? – VBart

+0

Как это выглядит? Он работает правильно. –

+0

В вашей конфигурации nginx запрашивает 'http: // localhost: 8998/some/directory'. Вы проверяете один и тот же запрос? – VBart

ответ

1
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/; 
    } 
} 

Попробуйте это, добавив последнюю / в proxy_pass должны работать.