Я получаю 403 Forbidden от RiakKV, который находится за обратным прокси-сервером, при попытке связаться с ним через мой веб-интерфейс (я делаю запрос от Angular http-клиента). Странная вещь в том, что когда я пытаюсь выполнить тот же GET-запрос от Postman (или даже из веб-браузера, вводящего прямой URL-адрес для Riak API), проблем нет - я получаю данные.
Я проанализировал логи Riak и выяснил, что это связано с заголовком реферера "запрос отклонен из-за недопустимого реферера".
Как указано в документации Риака (http://docs.basho.com/riak/kv/2.2.3/configuring/reference/):
Некоторые обратные прокси не могут удалить заголовок Referer и сделать
подача данных напрямую из Riak невозможна. Включение этого параметра
[secure_referer_check] для выключения отключает эту проверку безопасности.
Я отключил эту опцию, и она отлично работает.
Но мне интересно, возможно ли достичь этого, не отключая эту опцию (насколько я понимаю, это повышает безопасность), изменяя настройки прокси.
Мой прокси настроен на HTTP-сервере Apache и выглядит следующим образом:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<LocationMatch "/riak">
ProxyPass "http://IP:8098/"
ProxyPassReverse "http://IP:8098/"
Header add "Access-Control-Allow-Origin" "https://my.domain"
</LocationMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Я экспериментировал с опциями
Header add referer ""
RequestHeader set referer ""
для сброса реферера, но это не сработало.
У вас есть идеи, как этого добиться?