You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置OpenShift Route与Router以暴露公网服务并绑定自定义域名

配置OpenShift公网路由并绑定自定义域名(www.example.com)

我之前在AWS上部署OpenShift Origin时也踩过这个路由配置的坑,咱们一步步来解决:

1. 获取OpenShift Router的公网访问地址

OpenShift的Router组件是外部流量进入集群的入口,在AWS环境下它通常以LoadBalancer类型的Service运行,先拿到它的公网入口信息:

  • 用oc命令登录集群后,执行:
    oc get svc router-default -n openshift-ingress
    
    (如果是旧版本的OpenShift Origin,Router可能在default命名空间,命令改成oc get svc router -n default)
    输出里的EXTERNAL-IP字段就是Router的公网入口——AWS环境下这里大概率是一个ELB域名(比如abc-123456789.us-east-1.elb.amazonaws.com),或者是一个弹性公网IP。

2. 配置域名DNS解析

接下来要把你的www.example.com指向刚才拿到的Router公网地址:

  • 登录你的域名服务商控制台(比如AWS Route53、Cloudflare等)
  • 创建对应记录:
    • 如果Router是弹性公网IP,创建A记录:主机填www,记录值填Router的弹性IP
    • 如果Router是ELB域名,创建CNAME记录:主机填www,记录值填ELB的完整域名
    • TTL建议设为300秒(5分钟),方便快速验证解析是否生效

3. 修改现有路由绑定自定义域名

你已经有了内部路由http://demo-demo.router.default.svc.cluster.local/,直接修改它就能绑定自定义域名:

方法一:用命令行快速修改

替换YOUR_PROJECT_NAME为你的应用所在项目(比如demo),执行:

oc patch route demo-demo -n YOUR_PROJECT_NAME --type=merge -p '{"spec":{"host":"www.example.com"}}'

方法二:通过Web控制台修改

  • 登录OpenShift Web控制台,进入你的应用项目
  • 左侧菜单选择网络 -> 路由
  • 找到demo-demo路由,点击右侧的操作 -> 编辑路由
  • 在主机名输入框填写www.example.com,保存即可

4. 验证配置是否生效

  • 先确认DNS解析生效:执行nslookup www.example.com或dig www.example.com,检查返回的IP/域名是否和Router的公网入口一致
  • 直接在浏览器访问http://www.example.com,应该就能看到你的“hello world!”应用了

可选:配置HTTPS安全路由

如果需要启用HTTPS访问,你可以这么做:

  • 申请www.example.com的SSL证书(比如用Let's Encrypt免费证书,或者AWS ACM证书)
  • 在OpenShift项目中创建存储证书的Secret:
    oc create secret tls example-tls-secret --cert=path/to/your-cert.pem --key=path/to/your-private-key.pem -n YOUR_PROJECT_NAME
    
  • 修改路由启用TLS:
    oc patch route demo-demo -n YOUR_PROJECT_NAME --type=merge -p '{"spec":{"tls":{"termination":"edge","secretName":"example-tls-secret"}}}'
    
    也可以在Web控制台编辑路由时,开启安全路由选项,选择刚才创建的Secret即可

内容的提问来源于stack exchange,提问作者Hedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:31:33