Я занимаюсь некоторыми проблемами прежней версии, где я должен реконфигурировать серверы, размещающие базирующееся приложение PHP. Одно из решений состояло в том, чтобы переехать от Apache на Nginx.
Теперь хосты приложений два вида ответов;
/some/path -> HTML templates
/api/some/path -> JSON
Приложение основано на Laravel. Теперь, у меня есть два виртуальных хоста, my.app.com
и api.app.com
. О чем я думал, как достойное решение состоит в том, чтобы иметь api.app.com
проксируйте запросы к my.app.com
с a /api
предварительно ожидаемый к пути запроса. Так;
GET api.app.com/user -> NGINX PROXY -> my.app.com/api/user
Я не эксперт в конфигурации Nginx, и это - то, что я думаю, должен работать:
location / {
proxy_pass http://my.app.com:8888/api;
proxy_set_header X-Real-IP $remote_addr;
}
Идея состоит в том, чтобы гарантировать что люди, пытающиеся ДОБИРАТЬСЯ от api.app.com/something
на самом деле получите ответ от my.app.com/api/something
Но это не работает. Я продолжаю получать исключения из приложения, говоря, что путь не может быть найден в маршрутах.
Кто-либо может сказать мне, что продолжается здесь?
Совет от https://serverfault.com/a/586607 :
location ~ /(?<path>.*) {
proxy_pass http://my.app.com:8888/api/$path;
proxy_set_header X-Real-IP $remote_addr;
}