有没有一种方法可以在REST API前使用基本的HTTP身份验证来使用反向代理,同时这个API也使用另一个不同的用户名和密码进行HTTP基本身份验证?
如果重要的话,反向代理是Apache。
最明显的解决方案似乎是让应用程序和代理使用不同的身份验证标头。
例如,我可以向代理发送请求:
这样做的缺点是我的应用程序现在是硬编码使用"
如果重要的话,反向代理是Apache。
最明显的解决方案似乎是让应用程序和代理使用不同的身份验证标头。
例如,我可以向代理发送请求:
GET /foo/1 HTTP/1.1
Authorization: proxyuserpasshere
X-Passthru-Authorization: restuserpasshere
然后代理会使用“Authorization”头部(如果有效)并将请求传递给底层Web应用程序,如下所示:
GET /foo/1 HTTP/1.1
Authorization: restuserpasshere
(其中值“restuserpasshere”取自“X-Passthru-Authorization”标头)
有没有办法配置Apache使其工作?
2)相反,我可以为代理使用标准的“Authorization
”标头,并为我的应用程序身份验证使用自定义标头。因此,请求将如下所示:
GET /foo/1 HTTP/1.1
Authorization: proxyuserpasshere
X-Myapp-Authorization: restuserpasshere
这样做的缺点是我的应用程序现在是硬编码使用"
X-Myapp-Authorization
"头部,而不是标准的Authorization
头部。
有更好的解决方法吗?