当前位置: 首页 > 知识库问答 >
问题:

使用Spring Security(Jhister)从docker容器中重定向KeyClope_uri

淳于祺
2023-03-14

你好,我有一些问题与钥匙斗篷和springBoot(jhipster)内docker。

我希望我能让别人明白我的意思

我想在本地启动我的所有组件,每个组件都在一个容器中。

我有个棱角分明的正面在Nginx后面

image: ngnix-with-my-angular-project:latest
    volumes:
      - ./nginx/site.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "8000:80"

在我的ngnix配置中,我有这样的代理通行证

location /oauth2 {
   proxy_pass http://myprojectapp:8080/oauth2;
}

location /login {
   proxy_pass http://myprojectapp:8080/login;
}

在我的keycloak docker conf中,我添加了以下环境变量:

PROXY_ADDRESS_FORWARDING=true

在我名为myprojectapp springBoot(Jhister)的应用程序中,我有以下配置

myprojectapp:
.
.
.
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/myproject

我的Angular project位于以下地址:http://localhost:8000/

我正试图通过钥匙斗篷连接

http://keycloak:9080/auth/realms/myproject/protocol/openid-连接/授权?响应类型=代码

我输入我的凭据,然后我被重定向到myprojectapp docker的内部url

http://myprojectapp:8080/login/oauth2/code/oidc?state=WWW

我不知道如何将重定向uri配置为重定向到我的角度前端

重定向_uri=http://localhost:8000/login/oauth2/code/oidc

共有1个答案

危宜
2023-03-14

感谢@JanGaraj我已经在我的nginx conf中添加了这个

server {
listen 80;
.
.
.
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;

docker,我的正面是80而不是8000

image: ngnix-with-my-angular-project:latest
    volumes:
      - ./nginx/site.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "80:80"

下面的conf不重定向我到8000

proxy_set_header X-Forwarded-Port $proxy_protocol_port;

对我来说已经够好了,谢谢

 类似资料:
  • 我有一个在 docker 容器中运行的 mysql 容器,该容器故意无法通过任何端口访问,但可供其他 Docker 容器访问。 例如,考虑以下mysql容器 现在我想在我的主机上存在的mysql中运行一个转储文件。 但是我得到了回应 如何将我的主机输出到docker容器? 请注意一件事,它不是关于错误的,通过删除-it或-i,我没有收到错误,但我无法通过管道输出到docker容器。 问题是如何将任

  • 有没有办法在docker构建期间生成SSH密钥,并访问容器中运行的应用程序内的密钥文件路径?我的应用程序需要keyfile_path才能运行。如果不能在构建期间动态生成密钥并在应用程序中使用它,那么从本地主机注入SSH密钥以便在远程应用程序中使用它的替代方案是什么?

  • 问题内容: 我正在尝试从主机系统调用docker的mysqldump,以从golang保存mysql dump。它可以与主机mysqldump正常工作,但不能与docker的mysqldump一起工作。 } 我只有非空数据库的 空mysql dump 问题答案: 解决方案是: } 没有“> dbname.sql”

  • 我想从一个服务器设置服务多个站点: 到目前为止,我只发现docker在使用静态IPS时进行端口重定向。 是否可以通过主机名使用docker进行端口重定向? 我使用一个免费的亚马逊EC2 Insance。 谢谢博

  • 为了使项目的开发更容易,我在docker容器中放置了它所依赖的几个服务。这使得项目配置中的“localhost”在传递给其中一个容器时具有不同的含义。 编辑 清楚地说,我试图将容器的一个端口转发到主机,因此当容器中运行的进程试图访问localhost:5432时,它将连接到主机的端口5432。 结束 我目前正在使用 将目标为“本地主机”的任何内容重定向到容器的主机。它在这种情况下有效,但我更愿意找

  • 主要内容:Docker 客户端,容器使用,运行一个 web 应用,查看 WEB 应用容器,网络端口的快捷方式,查看 WEB 应用程序日志,查看WEB应用程序容器的进程,检查 WEB 应用程序,停止 WEB 应用容器,重启WEB应用容器,移除WEB应用容器Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。