У меня есть приложение Magento2, работающее в отдельном экземпляре Ec2 за Apache2. У меня есть экземпляр внешнего интерфейса, работающий Nginx (также в другом экземпляре Ec2).
Экземпляр внешнего интерфейса выполняет React. js (который отображает пользовательский интерфейс) и Nginx, который действует как прокси для обоих React. и экземпляр Magento2.
Конфигурация Nginx была настроена таким образом, что любые обычные запросы go к коду React и любые запросы с / magento / в нем проксируются к внутреннему экземпляру, на котором работают Apache2 и Magento.
У меня все работает, за исключением того, что когда я пытаюсь получить доступ к админ-панели magento, используя URL http: // {имя_хоста} /magento/index.php/admin (URL-адрес администратора в magento2 имеет значение hostname / magento /), Я получаю 404 или бесконечное перенаправление запросов, которое в конечном итоге не удается. Моя текущая конфигурация Nginx:
server {
server_name <hostname>;
client_max_body_size 100M;
listen 80;
location / {
proxy_pass http://localhost:3000;
# Simple requests
if ($request_method ~* "(GET|POST)") {
add_header "Access-Control-Allow-Origin" *;
}
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /magento/ {
proxy_pass http://<private IP address of the instance>/;
proxy_set_header Host $host;
}
}
Я знаю, что что-то не так с моей конфигурацией Nginx, потому что когда я передаю все данные на сервер (URL-адрес администратора в magento2 устанавливается на имя хоста) следующим образом, панель администратора загружается нормально.
server {
server_name <hostname>;
client_max_body_size 100M;
listen 80;
location / {
proxy_pass http://<private ip of the backend>;
# Simple requests
if ($request_method ~* "(GET|POST)") {
add_header "Access-Control-Allow-Origin" *;
}
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Что-то не так с Nginx, что я не могу поймать. Я сталкивался с этими ссылками: https://github.com/magento/magento2/issues/1698 https://community.magento.com/t5/Magento-2-x-Hosting-Performance/Configuration-problems-with-Nginx-as-reverse-for-Apache/td-p/88927 но я, как реализовать то же самое в моем случае, если это действительно проблема.
Может ли кто-нибудь помочь мне здесь? Я потратил довольно много времени, пробуя разные варианты в Nginx без всякой удачи.