Назад | Перейти на главную страницу

Есть ли способ преобразовать IPv4-адреса в стиле IPv6 в заголовках X-Forwarded-For в стиль IPv4?

Я запускаю систему с обратным прокси-сервером Pound перед ускорителем Squid, в свою очередь перед Apache2, который поддерживает несколько веб-приложений на основе PHP.

Демон Pound настроен на отправку заголовков X-Forwarded-For в Apache, поэтому вышеупомянутые приложения могут определять истинный источник сообщения (squid настроен на прозрачную передачу заголовков X-Forwarded-For без изменений). Однако Паунд отмечает IPv4-адреса в заголовках XFF, например ::ffff:1.2.3.4 а не просто как 1.2.3.4, а это скидывает приложения.

Помимо модификации каждого приложения для правильной обработки ::ffff:1.2.3.4 В случае, есть ли способ остановить использование Pound нотации IPv6 или в Apache превентивно преобразовать нотацию IPv6 обратно в нотацию IPv4?

Вы должны уметь использовать mod_headers переписать X-Forwarded-For заголовок до того, как приложения php увидят его:

RequestHeader edit X-Forwarded-For "^::ffff:" ""