所以首先,我对NGINX、Docker等非常陌生。
但我的设想是这样的:
我已经创建了一个2 docker图像,它显示了一个简单的网站,website1和website2。它们都是在一个docker文件中创建的,使用的是nginx图像。
我把它们放在两个不同的容器里。
通过访问localhost:8080我得到了website1。通过访问localhost:8081我得到了website2。
然后,我只想要1个入口点(localhost),并通过使用/,去我的网站。
所以我创建了一个新的容器,名为reverseproxy。我使用NGINX的default.conf来代理传递到我的容器。我做了以下操作:localhost(显示默认的NGINX页面)localhost/website1,哪个代理将这个传递给我的website1 localhost/webiste2,哪个代理将这个传递给我的website2我把所有这些都放在一个docker-compose.yaml文件中,它运行得很好。
然后对于website1,我想要基本的身份验证,通过使用apache-utils并在我的/webiste1和/website2端点上添加基本的身份验证,它运行得很好。
但现在我想基于特定角色限制对我的端点(网站1和网站2)的访问。
因此,当我访问website1时,使用basic_auth输入凭据,我希望能够检查该用户是否具有用户角色。当访问/website2时,我希望能够登录,但随后限制访问,因为该用户可能无法访问此网站,只能具有"admin"角色。
我已经纠结了好几天了...
有人知道吗?
只是一些额外的信息:我不想使用Kubernetes。我知道它有RBAC(基于角色的访问控制),但我想保持它更简单。
提前感谢您的意见:)
完全卡住了..
1条答案
按热度按时间xdyibdwo1#
您可以使用和利用OAuth-proxy:https://github.com/oauth2-proxy/oauth2-proxy
如果你正在寻找相同的,这里是Github上的演示:https://github.com/deskoh/nginx-oauth2-proxy-demo
您也可以使用ngx_openresty