docker-用于 keycloak 的 Nginx 反向代理

我已经在 localhost:7070(在 Docker 容器中,它在 8080 上运行)部署了一个 keycloak 服务器,现在我想为它设置一个反向代理。这是我的conf:

server {<font></font> listen 11080 ;<font></font> <font></font> location /auth/ {<font></font> proxy_set_header Host $host;<font></font> proxy_set_header X-Forwarded-Server $host;<font></font> proxy_set_header X-Real-IP $remote_addr;<font></font> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<font></font> proxy_set_header X-Forwarded-Host $host;<font></font> proxy_set_header X-Forwarded-Proto $scheme;<font></font> <font></font> proxy_pass http://localhost:7070/auth/;<font></font> }<font></font> }<font></font>
server {<font></font> listen 11080 ;<font></font> <font></font> location /auth/ {<font></font> proxy_set_header Host $host;<font></font> proxy_set_header X-Forwarded-Server $host;<font></font> proxy_set_header X-Real-IP $remote_addr;<font></font> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<font></font> proxy_set_header X-Forwarded-Host $host;<font></font> proxy_set_header X-Forwarded-Proto $scheme;<font></font> <font></font> proxy_pass http://localhost:7070/auth/;<font></font> }<font></font> }<font></font> 
server { listen 11080 ; location /auth/ { proxy_set_header Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:7070/auth/; } }

当我访问时http://my-ip:11080/auth,我可以看到欢迎页面。但是当我尝试按照欢迎页面上的链接登录时,它显示错误并且现在的 url 是http://my-ip:auth/admin/,但我希望http://my-ip:11080/auth/admin/使用端口11080

当我手动输入http://my-ip:11080/auth/admin并按 Enter 时,它重定向到http://my-ip/auth/admin/master/console/,但我希望http://my-ip:11080/auth/admin/master/console/ 使用端口11080

我还尝试了许多我找到的解决方案,但目前没有运气。你能告诉我这里有什么问题吗?

更新: docker-compose.yml

version: "3.7"<font></font> services:<font></font> keycloak:<font></font> volumes:<font></font> - keycloak-pgdb:/var/lib/postgresql/data<font></font> build:<font></font> context: .<font></font> dockerfile: Dockerfile<font></font> ports:<font></font> - "7070:8080"<font></font> environment:<font></font> - KEYCLOAK_USER=admin<font></font> - KEYCLOAK_PASSWORD=password<font></font> - DB_VENDOR=postgres<font></font> - POSTGRES_PASSWORD=root<font></font> - POSTGRES_DB=keycloak<font></font> - DB_ADDR=localhost<font></font> - DB_USER=postgres<font></font> - DB_PASSWORD=root<font></font> - PROXY_ADDRESS_FORWARDING=true<font></font> volumes:<font></font> keycloak-pgdb:<font></font>
version: "3.7"<font></font> services:<font></font> keycloak:<font></font> volumes:<font></font> - keycloak-pgdb:/var/lib/postgresql/data<font></font> build:<font></font> context: .<font></font> dockerfile: Dockerfile<font></font> ports:<font></font> - "7070:8080"<font></font> environment:<font></font> - KEYCLOAK_USER=admin<font></font> - KEYCLOAK_PASSWORD=password<font></font> - DB_VENDOR=postgres<font></font> - POSTGRES_PASSWORD=root<font></font> - POSTGRES_DB=keycloak<font></font> - DB_ADDR=localhost<font></font> - DB_USER=postgres<font></font> - DB_PASSWORD=root<font></font> - PROXY_ADDRESS_FORWARDING=true<font></font> volumes:<font></font> keycloak-pgdb:<font></font> 
version: "3.7" services: keycloak: volumes: - keycloak-pgdb:/var/lib/postgresql/data build: context: . dockerfile: Dockerfile ports: - "7070:8080" environment: - KEYCLOAK_USER=admin - KEYCLOAK_PASSWORD=password - DB_VENDOR=postgres - POSTGRES_PASSWORD=root - POSTGRES_DB=keycloak - DB_ADDR=localhost - DB_USER=postgres - DB_PASSWORD=root - PROXY_ADDRESS_FORWARDING=true volumes: keycloak-pgdb:

docker :

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<font></font> 30ad65460a0c pic-keycloak_keycloak "entrypoint.sh" 38 minutes ago Up 38 minutes 5432/tcp, 0.0.0.0:7070->8080/tcp pic-keycloak_keycloak_1<font></font>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<font></font> 30ad65460a0c pic-keycloak_keycloak "entrypoint.sh" 38 minutes ago Up 38 minutes 5432/tcp, 0.0.0.0:7070->8080/tcp pic-keycloak_keycloak_1<font></font> 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 30ad65460a0c pic-keycloak_keycloak "entrypoint.sh" 38 minutes ago Up 38 minutes 5432/tcp, 0.0.0.0:7070->8080/tcp pic-keycloak_keycloak_1

原文链接:https://www.nuomiphp.com/a/stackoverflow/zh/610433cf66bad379bc06f411.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享