注意:

在 Oracle Integration 上为 Visual Builder Cloud Service 应用程序配置定制应用程序 URL 和 OCI Web 应用程序防火墙

简介

默认情况下,PaaS Visual Builder Cloud Service 应用程序 (VBCS)/Oracle Integration 实例会使用 Oracle 域生成 URL。但是,客户可以使用个性化域来访问部署的应用以进行品牌设置,或者保护底层基础设施免受直接暴露。要设置此定制,VBCS 提供了为 VBCS/Oracle Integration 实例上部署的应用配置定制 URL 或虚域的选项。

使用虚名域的优点:

VBCS/Oracle Integration 实例的默认 URL 通常采用以下格式进行结构化:

https://<instance-display-name>-<tenancy-name>-<region-code>.integration.ocp.oraclecloud.com

目标

本教程演示了为部署在 Oracle Integration 实例上启用的 VBCS 实例上的应用设置定制 URL 的分步过程。

为了进行演示,请考虑在实例上部署了两个应用程序。

应用程序名称 自定义 URL
VBCS APP1 myapp1.mydomain.com
VBCS APP2 myapp2.mydomain.com

VBCS 应用程序映像

先决条件

配置

为了使配置简单明了,让我们将配置分成两个主要任务。第一个任务详细说明了 Oracle Integration 层所需的配置,第二个任务详细介绍了 VBCS 层所需的配置。

  1. 为 Oracle Integration 实例配置定制端点。

  2. 为 VBCS 应用程序配置定制 URL。

任务 1:为 Oracle Integration 实例配置定制端点

要为 VBCS 应用程序配置定制 URL,必须使用定制端点配置 Oracle Integration 实例。

Oracle Integration 实例可以配置单个主定制端点和多个备用定制端点。主端点可以通过 Oracle Cloud Infrastructure (OCI) 控制台进行配置,而备用定制端点当前仅支持通过 Python 和 Java 等 OCI SDK 进行配置。如果您希望为 VBCS 中的每个 APP 配置定制 URL,则需要备用定制端点。

在本教程中,我们将使用 Python SDK 在 Oracle Integration 中配置备用定制端点。

任务 1.1:获取 CA 签名证书

获取所需自定义 URL 的 CA 签名证书。

myapp1.mydomain.com
myapp2.mydomain.com

任务 1.2:将证书链作为密钥存储在 OCI Vault 中

Oracle Integration 接受 OCI Vault 密钥作为证书链的输入。有关密钥语法的详细信息,请参阅为实例配置定制端点

高级别步骤包括创建 Vault、创建密钥和创建密钥。

复制 Vault 密钥的 Oracle Cloud 标识符 (OCID)。

{
  "key": "-----BEGIN PRIVATE KEY-----\n<key string>..-----END PRIVATE KEY-----\n",
  "cert": "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
  "intermediates": [
    "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
    "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n"
  ],
  "passphrase": "<private key password if encrypted key is provided>"
}

任务 1.3:创建备用定制端点

现在,让我们使用 Python SDK 创建备用定制端点。

注:

  1. 创建 Python 脚本。

    import oci
    
    config = oci.config.from_file(file_location="<location to the OCI config file>")
    
    # Initialize service client with default config file
    integration_client = oci.integration.IntegrationInstanceClient(config)
    
    # Send the request to service, some parameters are not required, see API
    # doc for more info
    update_integration_instance_response = integration_client.update_integration_instance(
        integration_instance_id="<OIC Instance OCID>",
        update_integration_instance_details=oci.integration.models.UpdateIntegrationInstanceDetails(
            alternate_custom_endpoints=[
                oci.integration.models.UpdateCustomEndpointDetails(
                    hostname="myapp1.mydomain.com",
                    certificate_secret_id="<OCID of the Secret>"),
                    oci.integration.models.UpdateCustomEndpointDetails(
                    hostname="myapp2.mydomain.com",
                    certificate_secret_id="<OCID of the Secret>")]),
        )
    
    # Get the data from response
    print(update_integration_instance_response.headers)
    

    {OIC 实例 OCID} - 替换为 OIC 实例 OCID。

    {OCID of the Secret} - 替换为上一步中复制的 Vault Secret OCID。

  2. 执行 Python 脚本。

    python <scriptname.py>
    
  3. 验证 OCI 控制台中的 workrequest 作业状态,大约需要 15 分钟。

注:也可以通过 OCI CLI 配置替代定制端点,请参阅更新集成实例

任务 1.4:获取定制端点别名详细信息

创建的每个定制端点都将具有关联的唯一别名。此信息可通过 API 查看,在控制台上不可见。

执行以下脚本以获取详细信息:

import oci
config = oci.config.from_file(file_location="<config file>")
integration_client = oci.integration.IntegrationInstanceClient(config)
# Send the request to service, some parameters are not required, see API
# doc for more info
get_integration_instance_response = integration_client.get_integration_instance(
    integration_instance_id="<OIC Instance OCID>")
print(get_integration_instance_response.data)

{OIC 实例 OCID} - 替换为 OIC 实例 OCID。

下面是输出样例:

vbcs 自定义别名

任务 1.5:创建 DNS 记录

要访问 VBCS/Oracle Integration 实例,请创建 CNAME DNS 记录,该记录解析为与相应定制 URL 关联的备用定制端点别名。

CNAME 记录

定制主机名 别名目标
myapp1.mydomain.com <alias1-xxxyyyy.integration.ocp.oraclecloud.com>
myapp2.mydomain.com <alias2-xxxyyyy.integration.ocp.oraclecloud.com>

现在可以使用配置的备用定制端点 URL 访问 VBCS 构建器页。

https://myapp1.mydomain.com/ic/builder(app1 的 VBCS 构建器页面)。

https://myapp1.mydomain.com/ic/home(Oracle Integration 页面)。

https://myapp2.mydomain.com/ic/builder(app2 的 VBCS 构建器页面)。

https://myapp2.mydomain.com/ic/home(Oracle Integration 页面)。

vbcs 应用程序构建器

任务 2:配置 VBCS APPS 的定制 URL

为 VBCS APPS 配置定制 URL 涉及在“应用程序设置”选项中更新 VBCS 应用程序的定制 URL。

  1. 登录到构建器页面,确保使用 APP1 https://myapp1.mydomain.com/ic/builder 的定制主机。

  2. 针对应用程序单击汉堡菜单。

    vbcs 自定义应用 URL

  3. 选择“New Version(新建版本)”。

    vbcs 应用程序新版本

  4. 应用程序处于开发模式后,单击设置

    vbcs 应用程序设置

  5. 使用定制 URL 更新“虚名 URL”字段。

    vbcs 应用程序更新虚名 URL

  6. 接下来,暂存应用程序。

    vbcs 应用程序阶段

    vbcs 应用程序 stage2

  7. 最后,发布应用。

    vbcs app1 发布

    注意: VBCS 应用的定制 URL 仅适用于已发布的应用,在开发模式下无法访问定制 URL。

  8. 对 APP2 重复上述步骤。

现在,让我们使用自定义网址访问应用。

APP1 图像:

https://myapp1.mydomain.com

myapp1

APP2 图像:

https://myapp2.mydomain.com

myapp2

任务 3:配置 WAF

Web 应用防火墙可保护 Web 应用免受各种在线威胁,包括 SQL 注入、跨站点脚本 (XSS)、远程代码执行等。因此,强烈建议使用 OCI WAF(边缘或区域性)保护 VBCS 应用。

有关更多详细信息,请参阅在 Oracle Integration 上使用 OCI Web 应用程序防火墙保护 Visual Builder Cloud Service 应用程序

小结

虚名域或定制 URL 为客户提供了宝贵的机会,使他们能够增强在 VBCS 实例上托管的应用。通过选择个性化域,客户可以强化品牌身份,提升专业在线形象,为用户打造更难忘的体验。利用虚名域/定制 URL,客户可以保护其应用的基本基础设施,防止直接接触到实际主机名。

此外,客户可以在应用之前实施 Web 应用防火墙 (Web Application Firewall,WAF),从而进一步采取安全措施。WAF 是一个主动防御机制,可以分析和过滤传入的 Web 流量,从而降低恶意攻击的风险,并确保为最终用户提供更安全的浏览体验。

总之,Vanity Domains/Custom URL 的组合以及 WAF 的实施加强了 VBCS 实例上托管的应用的品牌和安全方面,为企业提供了全面而强大的解决方案来在数字环境中蓬勃发展。

确认

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心