Я пытаюсь настроить обратный прокси-сервер для своего API-сервера, но получаю страницу с ошибкой 404.
Контекст:
Пока я настраиваю приложение react.js и пытаюсь найти решение проблемы CORS, я решил использовать обратный прокси (прокси-прокси) с nginx для внутреннего вызова API-сервера и заставить браузер думать, что API находится на тот же домен.
Это моя предполагаемая установка:
https://example.com указывает на каталог веб-сайта
https://example.com/api вызывает URL-адрес API для внутреннего прослушивания http://127.0.0.1:1234 через обратный прокси nginx
Я использую hestia cp, у которого nginx стоит перед apache в качестве обратного прокси.
Проблема
Если я использую lynx для прямого вызова http://127.0.0.1:1234, я получаю правильный ответ от моего API-сервера.
Однако при использовании его через прокси-сервер передайте URL-адрес https://example.com/api, я получаю страницу ошибки 404.
Файлы конфигурации Nginx
Это моя настройка nginx.ssl.conf для примера.com
расположение /API/ {
прокси_пароль http://127.0.0.1:1234;
журнал доступа /var/log/apache2/domains/example.com-api.log пользовательский;
access_log /var/log/apache2/domains/example.com-api.bytes байт;
}
Это моя настройка nginx.conf для моего домена api.com, прослушивание 127.0.0.1, порт 1234.
сервер {
слушать 127.0.0.1:1234;
имя_сервера 127.0.0.1;
место расположения / {
прокси_пасс http://10.0.10.55:8080;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc |docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3 |mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
корень /home/user/web/api.com/public_html;
access_log /var/log/apache2/domains/api.com.log объединенный;
журнал_доступа /var/log/apache2/domains/api.com.bytes байт;
истекает макс.;
try_files $uri @fallback;
}
} местоположение /ошибка/ {
псевдоним /home/user/web/api.com/document_errors/;
}
местоположение
прокси_пасс http://10.0.10.55:8080;
}
расположение ~ /\.ht {возврат 404;}
расположение ~ /\.svn/ {возврат 404;}
расположение ~ /\.git/ {возврат 404;}
расположение ~ /\.hg/ {возврат 404;}
расположение ~ /\.bzr/ {возврат 404;} }
Может ли кто-нибудь помочь мне отладить или устранить эту проблему?
Ничего особенного в логах не видно, но, наверное, не знаю, что искать.
Кажется, вызов через прокси-сервер nginx не достигает apache.
Я читал, что lynx вызывает apache напрямую, если я пропущу nginx, если я использую комбинацию URL-адреса/порта 127.0.0.1:1234.
Спасибо заранее