Рейтинг:0

CORS и Nginx перед обратным прокси/прокси-сервером apache не работают для доступа к серверу API

флаг id

Я пытаюсь настроить обратный прокси-сервер для своего 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.

Спасибо заранее

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.