如何在 cloudflare worker 中设置另一个主机头?例如,我为我网站的 www 记录设置了 1.2.3.4 ip 默认情况下,www 请求使用标头 www.ex.com 发送,但我想使用 new.ex.com 标头发送 www 请求
问问题
1510 次
2 回答
3
您需要配置一个 DNS 记录new.ex.com
,使其指向相同的 IP 地址。然后,您可以在 URL 中fetch()
发出请求。new.ex.com
如果您无法new.ex.com
指出正确的 IP,另一种选择是fetch()
使用选项发出请求,resolveOverride
以指定要使用的不同主机名的 IP 地址:
fetch("https://new.ex.com", {cf: {resolveOverride: "www.ex.com"}});
请注意,这仅在涉及的两个主机名都在您的区域下时才有效。关于文档resolveOverride
可以在这里找到。
您不能直接设置Host
标头,因为这样做可能会在向也使用 Cloudflare 的第三方服务器发出请求时绕过安全设置。
于 2020-01-01T03:49:04.250 回答
1
// Parse the URL.
let url = new URL(request.url)
// Change the hostname.
url.hostname = "check-server.example.com"
// Construct a new request
request = new Request(url, request)
请注意,这将影响源看到的 Host 标头(它将是 check-server.example.com)。有时人们希望 Host 标头保持不变。
// Tell Cloudflare to connect to `check-server.example.com`
// instead of the hostname specified in the URL.
request = new Request(request,
{cf: {resolveOverride: "check-server.example.com"}})
于 2020-05-15T21:10:24.217 回答