edit: Использование PROXY_ADDRESS_FORWARDING = true в моем файле docker env, как предположил Ян, решило мою проблему.
Я пробовал Keycloak налокальный хост и он успешно работал.Сейчас я пытаюсь создать домен с действительным доменом https и не могу получить доступ к странице входа.Я получаю ошибку redirect_uri.Что мне не хватает?
Когда я захожу на домашнюю страницу, это работает.Но, получая доступ к странице администратора, я получаю перенаправление.
https://keycloak.myDomain.com/auth/realms/master/protocol/openid-connect/auth?client_id=security-admin-console&redirect_uri=https%3A%2F%2Fkeycloak.myDomain.com%2Fauth%2Fadmin%2Fmaster%2Fconsole%2F&state=ef6b5ac7-f2f4-49c1-81de-6c0d4cf18e5f&response_mode=fragment&response_type=code&scope=openid&nonce=a46f44b8-9428-4019-8d18-e8e58e896ef2
Я использую простой образ докера без конфигурации.
services:
postgres:
image: postgres:9.4
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
- postgres_data:/var/lib/postgresql/data
keycloak:
image: jboss/keycloak
env_file:
- docker-variables.env
ports:
- 9000:8080
depends_on:
- postgres
И я использую Nginx с этим conf:
server {
server_name keycloak.myDomain.com;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
location / {
proxy_pass http://0.0.0.0:9000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# enable this if and only if you use HTTPS
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/myDomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/myDomain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Спасибо