Google Cloud实例Ubuntu16.04安装OSM THREE后登录重定向卡顿求助
我遇到过好几次类似的情况,大概率是OSM的服务配置里绑定了GCP实例的内部私有IP,导致登录回调跳转到外部无法访问的地址了,给你几个排查和修复的步骤:
第一步:检查OSM核心服务的地址配置
先登录到你的Ubuntu实例,找到OSM认证服务(keystone)的配置文件(通常路径是/etc/keystone/keystone.conf),还有OSM UI的相关配置文件(比如/usr/share/osm/nginx/conf.d/osm.conf)。
搜索配置里的public_endpoint、auth_url或者redirect_uri这类字段,你会发现它们大概率被设置成了GCP实例的内部IP10.142.0.4。把这些字段的值替换成你的实例外部公网IP35.231.195.141,如果希望服务监听所有网络接口,也可以设置为0.0.0.0(注意对应端口要匹配)。第二步:重启相关OSM服务
修改配置后,需要重启对应的服务让配置生效。执行以下命令:sudo systemctl restart keystone sudo systemctl restart osm-ui sudo systemctl restart osm-nginx # 如果使用了nginx做反向代理的话嫌麻烦的话也直接重启所有OSM相关服务:
sudo systemctl restart osm*第三步:确认GCP防火墙规则
登录GCP控制台,检查你的实例所属的防火墙规则,确保已经开放了8443和8009端口的入站TCP流量(来源可以暂时设置为0.0.0.0/0测试,后续再按需缩小范围)。如果没开放,赶紧添加对应的规则。第四步:验证服务监听状态
在实例上执行netstat -tulpn | grep -E "8443|8009",确认相关服务是监听在0.0.0.0或者你的外部公网IP上,而不是只绑定内部IP10.142.0.4。如果还是只监听内部IP,说明配置没改到位,回去重新检查配置文件。
做完这些步骤后,刷新浏览器重新访问https://35.231.195.141:8443,应该就能正常完成登录流程了。
内容的提问来源于stack exchange,提问作者RalphC.

