Цикълът на пренасочване в Magento ви вероятно не е заради VPN
302 записва дестинация, а не причина. Сравнете веригата Location, базовите URL адреси, заглавката за схема на проксито и бисквитката за сесия, преди да редактирате конфигурацията.
Виждате 302 в журнала за достъп, витрината не се зарежда през VPN и заключението се пише само. Това заключение обикновено е грешно по интересен начин. Отговорът за пренасочване записва дестинация, към която браузърът е бил изпратен, и не казва нищо за това дали тунелът, сертификатът или приложението са причинили проблема. Редът в журнала е началото на разследването, а не неговата находка.
302 казва къде, а не защо
Записът в журнала за достъп отбелязва заявката, статуса и размера и обикновено пропуска заглавката Location, която има значение. Едно пренасочване може да е напълно нормално: канонично име на хост, нормализиране на завършваща наклонена черта, преминаване към HTTPS. Нужна ви е последователността, защото един скок и цикъл са различни повреди с различни собственици. Повтарящите се скокове между схеми сочат към обработката на URL и схемата. А скок към име, което браузърът не може да разреши, сочи съвсем другаде.
Нито едно от тези не е доказателство за VPN. Тунелът е път; пренасочването е инструкция, която приложението е записало.
Уловете веригата, не реда от журнала
Използвайте мрежовия изглед на браузъра и записвайте четири полета за всеки скок: заявен URL, статус, заглавка Location и време. Завършете или с крайния отговор, или с грешката при свързване, защото интересният случай е скокът, който така и не завършва. Направете това веднъж на работещ път и веднъж на неуспешния, с един и същ профил и същата навигация. Сравняването на две вериги струва повече от всеки отделен ред в журнала.
Пазете този запис поверителен. URL адресите носят идентификатори на сесия, а запазеният архив на браузъра носи повече, отколкото очаквате. Премахнете низовете за заявка, преди да поставите нещо в билет.
Представата на приложението за собствения му URL
Magento генерира абсолютни URL адреси от конфигурацията, с обхват за всеки уебсайт или изглед на магазин. bin/magento config:show web/secure/base_url отпечатва стойността, в която приложението вярва, а тя често е име на хост, останало от изграждане или миграция, вместо това, което браузърът е използвал. Ако там е посочен вътрешен хост, браузърът се изпраща някъде, където не може да отиде, и никаква промяна на тунела не го поправя.
Сравнете защитения и незащитения базов URL с публичните имена пред вас. Несъответствие в което и да е от двете дава точно пренасочването, в което се взирате.
Заглавките за доверено прокси са договор
Когато TLS завършва на балансиращ товара, приложението вижда обикновен HTTP и трябва да бъде уведомено за обратното. Настройката за заглавка на offloader посочва заглавката, която проксито задава, например препратения протокол, и приложението ѝ вярва при решенията за схема.
Това доверие е договор с едно прокси, а не общо разрешение. Приемането на заглавката от произволни клиенти позволява на всеки да претендира за схема, затова тя принадлежи само там, където я задава определено прокси. Ако името на заглавката и поведението на проксито не съвпадат, приложението генерира пренасочвания към схема, която браузърът никога не е използвал, и цикълът се затваря. Проверете конфигурацията на проксито и настройката на приложението заедно, после изчистете кеша на конфигурацията, за да влезе промяната в сила.
Когато цикълът е сесия, а не маршрут
Верига, която винаги се връща към вписване, обикновено е проблем с бисквитка. Проверете дали бисквитката за сесия е издадена за името на хоста, което браузърът наистина е използвал, и дали е отбелязана като защитена при връзка, която браузърът смята за защитена. Бисквитка, обвързана с грешен домейн, създава цикъл при вписване, който изглежда точно като повреда в маршрутизирането.
Отстранете доказаното несъответствие при неговия собственик, било то базовият URL, домейнът на бисквитката или договорът с проксито, после тествайте цялата навигация отново, вместо да гледате как един 302 изчезва. Изключването на изискванията за HTTPS, за да счупите цикъла, разменя едно пренасочване за по-лош проблем. Когато промяната е готова, проверете тунела отделно: заявете известен частен ресурс и потвърдете, че пристига, така че следващото пренасочване да има чиста база за сравнение.