proxy - Riak KV 在做反向代理时返回 403 Forbidden
问题描述
当我试图从我的前端访问它时(我正在从 Angular http 客户端发出请求),我从位于反向代理后面的 RiakKV 收到 403 Forbidden。奇怪的是,当我尝试从 Postman 运行相同的 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 ""
取消设置引用,但它没有工作。
您知道如何实现这一目标吗?
解决方案
推荐阅读
- python - 试图调用一个函数_
- javascript - react-testing-library 输入更改测试总是通过
- php - 如何转义脚本标签?
- android - Android 自定义 ListView 未在 API 级别 28 中显示
- python - 如何在不使用全局变量的情况下构建这个程序?
- scala - 使用 Scala 进行分组以实现理解
- php - 如果有人使用谷歌浏览器打印,你可以记录吗?
- prolog - 在 Prolog 中查找列表的“中缀” - 顺序很重要
- c# - 将 Xamarin.form 与 SQL Server 连接
- android - 使用不同参数调用它时的状态小部件更新,而不是更新?