때문에 Admin loginpage를 열 수 없으므로 nginx를 기반으로하는 역방향 프록시 인 kong (0.10.3)에서 keycloak 3.2.1을 가져 오는 데 문제가 있습니다.역방향 프록시에서 Keycloak 사용 : 혼합 된 콘텐츠
시나리오는 다음과 같습니다
내가 https://{gateway}/auth
를 통해 내 게이트웨이 경로를 통해 keycloak 전화가 나에게 keycloak 로고, 관리 콘솔 등으로 링크가있는 엔트리 포인트이다 - 지금까지 너무 좋아합니다.
그러나 관리 콘솔 ->https://{gateway}/auth/admin/master/console/
을 호출하면 keycloak는 혼합 된 내용으로 인해 브라우저가 차단하는 http (아래 스크린 참조)를 통해 css/js를로드하려고 시도합니다. 나는 내용 '성공을 내 dockerfile로 (CLI 파일을 변경하지 않은'를 자사의 통합 시도, 거기부터 https://github.com/dukecon/keycloak_postgres_https
:
나는 주위 검색이 스레드 발견 keycloak apache server configuration with 'Mixed Content' problems이 GitHub의에 환매 특약으로 이어질 그냥 내 repo에 복사하고 추가/dockerfile에서 그들을 실행). 이것은 지금 내 dockerfile입니다 :
는FROM jboss/keycloak-postgres:3.2.1.Final
USER root
ADD config.sh /tmp/
ADD batch.cli /tmp/
RUN bash /tmp/config.sh
#Give correct permissions when used in an OpenShift environment.
RUN chown -R jboss:0 $JBOSS_HOME/standalone && \
chmod -R g+rw $JBOSS_HOME/standalone
USER jboss
EXPOSE 8080
그래서 지금은 아이디어에서 나는 당신이 나를 도울 수있는 희망 :
Keycloak에게 https를 통해 'css 파일'을 호출하도록하려면 어떻게해야합니까?
내가 cli 스크립트에서 뭔가를 변경해야합니까? 여기
config.sh :
embed-server --std-out=echo
# http://keycloak.github.io/docs/userguide/keycloak-server/html/server-installation.html
# 3.2.7.2. Enable SSL on a Reverse Proxy
# First add proxy-address-forwarding and redirect-socket to the http-listener element.
# Then add a new socket-binding element to the socket-binding-group element.
batch
/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=proxy-address-forwarding,value=true)
/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=redirect-socket,value=proxy-https)
/socket-binding-group=standard-sockets/socket-binding=proxy-https:add(port=443)
run-batch
stop-embedded-server
그것은 홍콩, 너무 관심이 있습니다
#!/bin/bash -x
set -e
JBOSS_HOME=/opt/jboss/keycloak
JBOSS_CLI=$JBOSS_HOME/bin/jboss-cli.sh
JBOSS_MODE=${1:-"standalone"}
JBOSS_CONFIG=${2:-"$JBOSS_MODE.xml"}
echo "==> Executing..."
cd /tmp
$JBOSS_CLI --file=`dirname "$0"`/batch.cli
# cf. http://stackoverflow.com/questions/34494022/permissions-error-when-using-cli-in-jboss-wildfly-and-docker
/bin/rm -rf ${JBOSS_HOME}/${JBOSS_MODE}/configuration/${JBOSS_MODE}_xml_history/current
및 batch.cli http에서 https 로의 리디렉션 ("insecureEdgeTerminationPolicy": "Redirect")을 사용하여 opensshift에 배포됩니다.
는
나는 kong/nginx를 확인하고 확신 할 때 답변을 받아 들일 것입니다. (내 workbench atm이 아니기 때문에 시간이 필요합니다). 지금까지 감사드립니다! – Dominik
동일한 상황에 처한 사람들에게는 Boomer가 설명한 것 외에도 (실제로 kong이 기본값 당 적절한 헤더를 전송함) 별개로 8080을 통해 호출 된 오픈 시프트 서비스에 문제가 있습니다. kc의 8080에 대한 표준 포트 바인딩은 http이므로 kc는 http를 제공합니다. 우리는 오픈 시프트 설정을 8443을 사용하도록 변경했습니다. 일했다. :) – Dominik