当我试图从前端到达它时,我从反向代理后面的RiakKV获取403禁止访问(我正在从Angular http客户端发出请求)。奇怪的是,当我尝试运行来自邮递员的相同GET请求(甚至从Web浏览器输入Riak API的直接URL)时,没有问题-我正在获取数据。
我分析了Riak的日志,发现它与引荐来源标头“由于无效引荐来源而被拒绝的请求”有关。 正如Riak的文档(http://docs.basho.com/riak/kv/2.2.3/configuring/reference/)所述:
某些反向代理无法删除Referer标头并使 无法直接从Riak提供数据。进行此设置 [secure_referer_check]禁用会禁用此安全检查。
我禁用了此选项,并且效果很好。
但是我想知道是否可以在不关闭此选项的情况下实现此目的(据我所知,它可以提高安全性),无需修改代理设置。
我的代理在Apache HTTP Server上配置,如下所示:
<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 ""
取消设置引荐来源网址,但无效。
您知道如何实现吗?