6.3. Configure Amazon CloudFront


  1. 检索新创建的自定义 ingress 控制器的 NLB 主机名:

    $ NLB=$(oc -n openshift-ingress get service router-cloudfront-waf \
      -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
  2. 将您的证书导入到 Amazon 证书管理器中,其中 cert.pem 是您的通配符证书,fullchain.pem 是您的通配符证书的链,privkey.pem 是您的通配符证书的私钥。

    注意

    无论您部署了集群是什么,都必须将此证书导入到 us-east-1 中,因为 Amazon CloudFront 都是全局 AWS 服务。

    示例

    $ aws acm import-certificate --certificate file://cert.pem \
      --certificate-chain file://fullchain.pem \
      --private-key file://privkey.pem \
      --region us-east-1

  3. 登录到 AWS 控制台 以创建 CloudFront 发行版。
  4. 使用以下信息配置 CloudFront 发行版:

    注意

    如果没有在下表中指定选项,请保留默认值(可能为空)。

    选项

    原始域

    上一命令的输出 [1]

    Name

    rosa-waf-ingress [2]

    查看器协议策略

    将 HTTP 重定向到 HTTPS

    允许的 HTTP 方法

    GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE

    缓存策略

    CachingDisabled

    原始请求策略

    AllViewer

    Web 应用程序防火墙(WAF)

    启用安全保护

    使用现有的 WAF 配置

    true

    选择 Web ACL

    cloudfront-waf

    备用域名(CNAME)

    *.apps.example.com [3]

    自定义 SSL 证书

    从上面的步骤中选择您导入的证书 [4]

    1. 运行 echo ${NLB} 以获取原始域。
    2. 如果您有多个集群,请确保原始名称是唯一的。
    3. 这应该与您用来创建自定义入口控制器的通配符域匹配。
    4. 这应该与上面输入的替代域名匹配。
  5. 检索 Amazon CloudFront Distribution 端点:

    $ aws cloudfront list-distributions --query "DistributionList.Items[?Origins.Items[?DomainName=='${NLB}']].DomainName" --output text
  6. 使用 CNAME 将自定义通配符域的 DNS 更新到上面步骤中的 Amazon CloudFront 分发端点。

    示例

    *.apps.example.com CNAME d1b2c3d4e5f6g7.cloudfront.net

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.