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

прокси-сервер ipv6 приводит к неверному запросу

Я настроил сервер apache httpd для работы в качестве прокси-сервера. Ниже приведены сведения о моем файле conf.

Listen 0.0.0.0:9999
Listen [::]:9999
<VirtualHost *:9999>

SSLEngine off
SSLProxyEngine On
SSLCertificateFile /etc/httpd/ssl/ca.crt
SSLCertificateKeyFile /etc/httpd/ssl/ca.key

ProxyRequests Off
ProxyPreserveHost On

RewriteEngine on
RewriteRule ^/rest/v1/ https://%{HTTP_HOST}/rest/v1/
</VirtualHost>

Я использую клиент curl

для IPv4:

завиток http://192.168.56.11/rest/v1/ --proxy 0.0.0.0:9999 -v

Он работает нормально, и я получаю правильный результат

для IPv6:

локон -6 http: // fe80 :: 2: 0: 9: 1% eth1 / rest / v1 / --proxy [::]: 9999 -v

С ipv6 вызов не работает, и я получаю код ответа «400». Следующее сообщение об ошибке отображается в error_log для этого запроса ipv6

[ошибка] [client :: 1] запрос не выполнен: ошибка чтения заголовков

На самом деле целевой сервер - это Jetty Server, но я вижу значение «Сервер: Apache / 2.2.15 (CentOS)» в случаях сбоя. Также нет журнала для звонков, достигших пункта назначения. На самом деле не работает прокси.

Ваш VirtualHost настроен только для обработки соединений IPv4.

<VirtualHost *:9999>

Вам необходимо настроить его для обработки соединений IPv4 и IPv6.

<VirtualHost *:9999 [::]:9999>