使用 Cloudflare 代理 Rudderstack API

问题描述 投票:0回答:1

目前我们有一个 Cloudflare 帐户,为我们的网站和其他一些网络应用程序提供服务。我们使用 Cloudflare DNS 将请求代理到不同的页面/工作人员。

现在,我们的管理层提出了一个新请求,我们需要为 Rudderstack 集成一个自定义域。 他们在他们的文档中写道:您将需要访问域的 DNS 设置以及 CDN 设置。 在 Cloudflare 中,我可以将 DNS 设置更改为从 api.ourdomain.com 代理到 api.rudderlabs.com。但这不起作用,我有一个 Cloudflare 错误:无效的 SSL 证书 (526)。所有证书均有效且运行良好。 (我尝试了完整和完整(严格)选项)

Rudderstack 建议使用 Amazon CloudFront 创建 CloudFront 发行版。 也许我需要为我们公司重做整个 DNS 设置并从 AWS CloudFront 开始,因为它看起来更灵活?

是否可以使用 Cloudflare 或者我错过了什么?

dns cloudflare cdn rudderstack-sdk
1个回答
0
投票

您可以设置 Cloudflare Worker 来执行批量源覆盖并将请求发送到 RudderStack 数据平面。工作线程中的示例代码:

const ORIGINS = {
    'abc.mydomain.com': 'xyz.dataplane.rudderstack.com',
};

function handleRequest(request) {
    const url = new URL(request.url);
    // Check if incoming hostname is a key in the ORIGINS object
    if (url.hostname in ORIGINS) {
    const target = ORIGINS[url.hostname];
    url.hostname = target;
    // If it is, proxy request to that third party origin
    return fetch(url.toString(), request);
    }

    // Otherwise, process request as normal
    return fetch(request);
}

addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request));
});

在cloudflare工作人员的

Custom Domains
中设置您的子域,它将为您生成证书并且应该可以使用

© www.soinside.com 2019 - 2024. All rights reserved.