Я настроил сервер 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>