使用OpenShift Origin Web Console时HTTPS重定向至127.0.0.1求助
我之前在OpenShift 3.9版本上遇到过完全一样的问题,核心原因是启动集群时只指定了--public-hostname,但OpenShift的master节点内部还是绑定了127.0.0.1,导致OAuth授权环节的重定向链接被自动生成了localhost地址。下面是具体的解决步骤:
1. 先停止当前运行的OpenShift集群
首先需要把现有集群停掉,避免配置冲突:
oc cluster down
2. 重新启动集群,添加--master参数
启动时除了你原来的参数,必须额外指定--master参数指向你的公网主机名,这样OpenShift的所有组件(包括Web Console和OAuth服务)都会统一使用这个地址生成外部链接:
oc cluster up --host-data-dir /data --public-hostname master.ouatrahim.com --routing-suffix master.ouatrahim.com --master=https://master.ouatrahim.com:8443
3. 验证修复效果
集群启动完成后,再次访问https://master.ouatrahim.com:8443,应该就不会再被重定向到127.0.0.1了。你也可以通过以下命令检查Web Console的配置,确认publicURL字段是否正确:
oc login -u system:admin oc get configmaps webconsole-config -n openshift-web-console -o yaml
在输出里找到publicURL,它的值应该是https://master.ouatrahim.com:8443/console/,如果是这样就说明配置生效了。
你的环境信息整理:
- 操作系统: 带Docker的CentOS服务器
- Docker版本信息:
Client: Version: 1.13.1 API version: 1.26 Package version: <unknown> Go version: go1.8.3 Git commit: 774336d/1.13.1 Built: Wed Mar 7 17:06:16 2018 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: <unknown> Go version: go1.8.3 Git commit: 774336d/1.13.1 Built: Wed Mar 7 17:06:16 2018 OS/Arch: linux/amd64 Experimental: false
- 原启动命令:
oc cluster up --host-data-dir /data --public-hostname master.ouatrahim.com --routing-suffix master.ouatrahim.com
- 原启动输出:
Using nsenter mounter for OpenShift volumes
Using 127.0.0.1 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.The server is accessible via web console at:
https://master.ouatrahim.com:8443You are logged in as:
User: developer
Password:To login as administrator:
oc login -u system:admin
- **oc版本信息**:
oc v3.9.0+ba7faec-1
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO
Server https://127.0.0.1:8443
openshift v3.9.0+0e3d24c-14
kubernetes v1.9.1+a0ce1bc657
- **问题现象**: 访问`https://master.ouatrahim.com:8443/`时,被重定向到:
https://127.0.0.1:8443/oauth/authorize?client_id=openshift-web-console&response_type=code&state=eyJ0aGVuIjoiLyIsIm5vbmNlIjoiMTUyNTk2NjcwODI1MS0xODg4MTcxMDEyMjU3OTQ1MjM0NjIwNzM5NTQ5ODE0ODk5OTYxMTIxMTI2NDI3ODg3Mjc5MjAwMTgwODI4NTg0MTkyODAxOTA2NTY5NjU2In0&redirect_uri=https%3A%2F%2F127.0.0.1%3A8443%2Fconsole%2Foauth
内容的提问来源于stack exchange,提问作者ouatrahim

