注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
在 Oracle Integration 上为 Visual Builder Cloud Service 应用程序配置定制应用程序 URL 和 OCI Web 应用程序防火墙
简介
默认情况下,PaaS Visual Builder Cloud Service 应用程序 (VBCS)/Oracle Integration 实例会使用 Oracle 域生成 URL。但是,客户可以使用个性化域来访问部署的应用以进行品牌设置,或者保护底层基础设施免受直接暴露。要设置此定制,VBCS 提供了为 VBCS/Oracle Integration 实例上部署的应用配置定制 URL 或虚域的选项。
使用虚名域的优点:
- 品牌
- 改善的用户体验(用户友好且令人难忘)
- 营销和促销
- 域所有权
- 安全和隐私
- 轻松迁移应用(如果以后需要更改底层基础设施或云提供商,则使用虚域可以更轻松地迁移应用,而不会影响面向用户的 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 |

先决条件
- 配置 OCI Python SDK。
配置
为了使配置简单明了,让我们将配置分成两个主要任务。第一个任务详细说明了 Oracle Integration 层所需的配置,第二个任务详细介绍了 VBCS 层所需的配置。
-
为 Oracle Integration 实例配置定制端点。
-
为 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 创建备用定制端点。
注:
- 默认情况下,Oracle Integration 实例的备用端点限制设置为 0,通过 OCI 控制台记录“服务限制提高”请求以提高限制。
- Oracle Integration 实例最多支持 5 个备用定制端点。
-
创建 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。
-
执行 Python 脚本。
python <scriptname.py> -
验证 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。
下面是输出样例:

任务 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 页面)。

任务 2:配置 VBCS APPS 的定制 URL
为 VBCS APPS 配置定制 URL 涉及在“应用程序设置”选项中更新 VBCS 应用程序的定制 URL。
-
登录到构建器页面,确保使用 APP1
https://myapp1.mydomain.com/ic/builder的定制主机。 -
针对应用程序单击汉堡菜单。

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

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

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

-
接下来,暂存应用程序。


-
最后,发布应用。

注意: VBCS 应用的定制 URL 仅适用于已发布的应用,在开发模式下无法访问定制 URL。
-
对 APP2 重复上述步骤。
现在,让我们使用自定义网址访问应用。
APP1 图像:
https://myapp1.mydomain.com

APP2 图像:
https://myapp2.mydomain.com

任务 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 实例上托管的应用的品牌和安全方面,为企业提供了全面而强大的解决方案来在数字环境中蓬勃发展。
相关链接
确认
- 作者:Anil Guttala(Oracle Cloud Infrastructure 高级云工程师)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Configure Custom App URL and OCI Web Application Firewall for Visual Builder Cloud Service Apps on Oracle Integration
F87547-03
October 2023
Copyright © 2023, Oracle and/or its affiliates.