Skip to content

Commit 36db5d8

Browse files
authored
Merge branch 'production' into agents-1.0
2 parents 2062d62 + f980ece commit 36db5d8

File tree

229 files changed

+2107
-797
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+2107
-797
lines changed

.github/workflows/anchor-link-audit.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ name: Anchor link audit
55
# **Who does it impact**: PCX team
66

77
on:
8-
schedule:
9-
- cron: "0 0 * * 0" # Run at 00:00 UTC every Sunday
108
workflow_dispatch:
119

1210
jobs:

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
GH_REPO: ${{ github.repository }}
3737
NUMBER: ${{ github.event.pull_request.number }}
3838
- name: Internal comment
39-
run: gh pr comment "$NUMBER" --body "Howdy and thanks for contributing to our repo. We review internal PRs with **1 week**. If it's something urgent or has been sitting without a comment, start a thread in the *Developer Docs* space internally."
39+
run: gh pr comment "$NUMBER" --body "Howdy and thanks for contributing to our repo. We review internal PRs within **1 week**. If it's something urgent or has been sitting without a comment, start a thread in the *Developer Docs* space internally."
4040
if: steps.check_if_contributor_is_external.outputs.is_external == 'false'
4141
env:
4242
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

public/_redirects

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@
176176
/support/firewall/tools/cloudflare-bot-products-faqs/ /bots/troubleshooting/ 301
177177
/support/other-languages/deutsch/cloudflare-bot/ /bots/troubleshooting/ 301
178178
/bots/concepts/ja3-fingerprint/ /bots/concepts/ja3-ja4-fingerprint/ 301
179+
/bots/reference/verified-bot-categories/ /bots/concepts/bot/verified-bots/categories/ 301
180+
/bots/reference/verified-bot-policy/ /bots/concepts/bot/verified-bots/policy/ 301
179181

180182
# byoip
181183
/byoip/about/dynamic-advertisement/ /byoip/concepts/dynamic-advertisement/ 301
@@ -464,6 +466,7 @@
464466
/fundamentals/get-started/http-request-headers/ /fundamentals/reference/http-headers/ 301
465467
/fundamentals/get-started/network-ports/ /fundamentals/reference/network-ports/ 301
466468
/fundamentals/get-started/basic-tasks/improve-seo/ /fundamentals/performance/improve-seo/ 301
469+
/fundamentals/basic-tasks/improve-seo/ /fundamentals/performance/improve-seo/ 301
467470
/fundamentals/get-started/basic-tasks/allow-cloudflare-ip-addresses/ /fundamentals/concepts/cloudflare-ip-addresses/ 301
468471
/fundamentals/get-started/basic-tasks/account-setup/ /fundamentals/setup/account/ 301
469472
/fundamentals/get-started/concepts/cdn-cgi-endpoint/ /fundamentals/reference/cdn-cgi-endpoint/ 301
@@ -545,13 +548,15 @@
545548
/fundamentals/get-started/get-started-external-link/ /learning-paths/get-started/ 301
546549
/fundamentals/get-started/task-guides/prevent-ddos-attacks-external/ /learning-paths/prevent-ddos-attacks/ 301
547550
/fundamentals/get-started/task-guides/origin-health/free/ /fundamentals/security/protect-your-origin-server/ 301
551+
/fundamentals/basic-tasks/protect-your-origin-server/ /fundamentals/security/protect-your-origin-server/ 301
548552
/fundamentals/get-started/task-guides/origin-health/business/ /fundamentals/security/protect-your-origin-server/ 301
549553
/fundamentals/get-started/task-guides/origin-health/pro/ /fundamentals/security/protect-your-origin-server/ 301
550-
/fundamentals/get-started/task-guides/origin-health/enterprise/ /fundamentals/security/protect-your-origin-server/301
554+
/fundamentals/get-started/task-guides/origin-health/enterprise/ /fundamentals/security/protect-your-origin-server/ 301
551555
/fundamentals/get-started/task-guides/origin-health/ /fundamentals/security/protect-your-origin-server/ 301
552556
/fundamentals/get-started/task-guides/ /fundamentals/basic-tasks/ 301
553557
/fundamentals/get-started/setup/ /fundamentals/setup/ 301
554558
/fundamentals/get-started/setup/minimize-downtime/ /fundamentals/performance/minimize-downtime/ 301
559+
/fundamentals/basic-tasks/maintenance-mode/ /fundamentals/performance/minimize-downtime/ 301
555560
/fundamentals/get-started/concepts/what-is-cloudflare/ /fundamentals/concepts/what-is-cloudflare/ 301
556561
/fundamentals/get-started/concepts/cloudflare-challenges/ /waf/reference/cloudflare-challenges/ 301
557562
/fundamentals/get-started/concepts/accounts-and-zones/ /fundamentals/setup/accounts-and-zones/ 301
@@ -568,14 +573,17 @@
568573
/fundamentals/get-started/basic-tasks/manage-domains/redirect-domain/ /fundamentals/setup/manage-domains/redirect-domain/ 301
569574
/fundamentals/get-started/basic-tasks/cloudflare-without-changing-nameservers/ /fundamentals/setup/use-cloudflare-without-changing-nameservers/ 301
570575
/fundamentals/get-started/basic-tasks/interact-with-cloudflare/ /fundamentals/setup/interact-with-cloudflare/ 301
576+
/fundamentals/basic-tasks/interact-with-cloudflare/ /fundamentals/setup/interact-with-cloudflare/ 301
571577
/fundamentals/get-started/basic-tasks/manage-subdomains/ /fundamentals/setup/manage-domains/manage-subdomains/ 301
572578
/fundamentals/get-started/basic-tasks/report-abuse/provide-specific-urls/ /fundamentals/reference/report-abuse/provide-specific-urls/ 301
573579
/fundamentals/get-started/basic-tasks/report-abuse/complaint-types/ /fundamentals/reference/report-abuse/complaint-types/ 301
574580
/fundamentals/get-started/basic-tasks/report-abuse/ /fundamentals/reference/report-abuse/ 301
575581
/fundamentals/get-started/basic-tasks/access-compliance-docs/ /fundamentals/reference/policies-compliances/compliance-docs/ 301
576582
/fundamentals/get-started/basic-tasks/under-ddos-attack/ /fundamentals/security/under-ddos-attack/ 301
583+
/fundamentals/basic-tasks/under-ddos-attack/ /fundamentals/security/under-ddos-attack/ 301
577584
/fundamentals/get-started/basic-tasks/test-speed/ /fundamentals/performance/test-speed/ 301
578-
/fundamentals/get-started/basic-tasks/ /fundamentals/basic-tasks/ 301
585+
/fundamentals/basic-tasks/test-speed/ /fundamentals/performance/test-speed/ 301
586+
/fundamentals/get-started/basic-tasks/ /fundamentals/performance/test-speed/ 301
579587
/fundamentals/get-started/basic-tasks/account-security/securing-a-compromised-account/ /fundamentals/setup/account/account-security/secure-a-compromised-account/ 301
580588
/fundamentals/get-started/basic-tasks/account-security/review-audit-logs/ /fundamentals/setup/account/account-security/review-audit-logs/ 301
581589
/fundamentals/get-started/basic-tasks/account-security/manage-active-sessions/ /fundamentals/setup/account/account-security/manage-active-sessions/ 301
@@ -621,7 +629,6 @@
621629
/fundamentals/reference/changelog/ /fundamentals/reference/ 302
622630
/fundamentals/basic-tasks/optimize-speed-external-link/ /fundamentals/performance/optimize-speed-external-link/ 301
623631
/fundamentals/basic-tasks/prevent-ddos-attacks-external/ /fundamentals/security/prevent-ddos-attacks-external/ 301
624-
/fundamentals/basic-tasks/protect-your-origin-server/ /fundamentals/security/protect-your-origin-server/ 301
625632
/fundamentals/basic-tasks/pci-scans/ /fundamentals/security/pci-scans/ 301
626633
/fundamentals/basic-tasks/trace-request/ /fundamentals/trace-request/ 301
627634
/fundamentals/basic-tasks/trace-request/how-to/ /fundamentals/trace-request/how-to/ 301
@@ -1205,6 +1212,7 @@
12051212
/support/more-dashboard-apps/cloudflare-scrape-shield/why-doesnt-my-rss-feed-show-images/ /waf/tools/scrape-shield/hotlink-protection/ 301
12061213
/support/more-dashboard-apps/cloudflare-scrape-shield/ /waf/tools/scrape-shield/ 301
12071214
/support/about-cloudflare/attack-preparation-and-response/recovering-from-a-hacked-site/ /fundamentals/security/recovering-from-hacked-site/ 301
1215+
/fundamentals/basic-tasks/recovering-from-hacked-site/ /fundamentals/security/recovering-from-hacked-site/ 301
12081216
/support/firewall/learn-more/configuring-token-authentication/ /waf/custom-rules/use-cases/configure-token-authentication/ 301
12091217
/support/firewall/learn-more/ /waf/troubleshooting/ 301
12101218
/support/firewall/ /waf/troubleshooting/ 301
@@ -1225,8 +1233,9 @@
12251233
/support/ssl-tls/faq-and-reference/ /ssl/reference/ 301
12261234
/support/account-management-billing/account-privacy-and-security/understanding-samesite-cookie-interaction-with-cloudflare/ /waf/troubleshooting/samesite-cookie-interaction/ 301
12271235
/support/account-management-billing/account-privacy-and-security/ /support/account-management-billing/ 301
1228-
/support/troubleshooting/general-troubleshooting/troubleshooting-surges-or-spikes-in-web-traffic/ /fundamentals/performance/preparing-for-surges-or-spikes-in-web-traffic/ 301
1236+
/support/troubleshooting/general-troubleshooting/troubleshooting-surges-or-spikes-in-web-traffic/ /fundamentals/basic-tasks/preparing-for-surges-or-spikes-in-web-traffic/ 301
12291237
/support/troubleshooting/general-troubleshooting/preparing-for-surges-or-spikes-in-web-traffic/ /fundamentals/performance/preparing-for-surges-or-spikes-in-web-traffic/ 301
1238+
/fundamentals/basic-tasks/preparing-for-surges-or-spikes-in-web-traffic/ /fundamentals/performance/preparing-for-surges-or-spikes-in-web-traffic/ 301
12301239
/support/third-party-software/others/configuring-an-amazon-web-services-static-site-to-use-cloudflare/ /rules/cloud-connector/providers/ 301
12311240
/support/third-party-software/others/enabling-cloudflare-ssl-on-azure-storage-static-web-hosting-applications/ /rules/cloud-connector/providers/ 301
12321241

@@ -1344,6 +1353,9 @@
13441353
/waf/tools/scrape-shield/server-side-excludes/ /waf/tools/scrape-shield/ 301
13451354
/waf/rate-limiting-rules/create-account-dashboard/ /waf/account/rate-limiting-rulesets/create-dashboard/ 301
13461355
/waf/managed-rules/deploy-account-dashboard/ /waf/account/managed-rulesets/deploy-dashboard/ 301
1356+
/waf/analytics/security-events/free-plan/ /waf/analytics/security-events/ 301
1357+
/waf/analytics/security-events/paid-plans/ /waf/analytics/security-events/ 301
1358+
/waf/analytics/security-events/additional-information/ /waf/tools/validation-checks/ 301
13471359

13481360
# waiting-room
13491361
/waiting-room/how-to/mobile-traffic/ /waiting-room/how-to/json-response/ 301
@@ -1885,6 +1897,7 @@
18851897
/cloudflare-one/policies/browser-isolation/agentless/* /cloudflare-one/policies/browser-isolation/setup/:splat 301
18861898
/cloudflare-one/policies/filtering/http-policies/data-loss-prevention/* /cloudflare-one/policies/data-loss-prevention/ 301
18871899
/cloudflare-one/policies/data-loss-prevention/configuration-guides/* /cloudflare-one/policies/data-loss-prevention/dlp-policies/common-policies/ 301
1900+
/cloudflare-one/insights/dex/fleet-status/ /cloudflare-one/insights/dex/monitoring/ 301
18881901

18891902
# Learning paths
18901903
/learning-paths/modules/cybersafe/cybersafe-account-creation/* /learning-paths/cybersafe/account-creation/:splat 301
-84.7 KB
Binary file not shown.
-16.6 KB
Binary file not shown.
-10.3 KB
Loading
139 KB
Loading

src/components/Markdown.astro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
---
22
import { z } from "astro:schema";
33
import { marked } from "marked";
4+
import dedent from "dedent";
45
56
type Props = z.infer<typeof props>;
67
78
const props = z.object({
8-
text: z.string(),
9+
text: z.string().transform((val) => dedent(val)),
910
inline: z.boolean().default(true),
1011
});
1112

src/components/overrides/Head.astro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import "tippy.js/dist/tippy.css";
66
77
import { getEntry } from "astro:content";
88
9-
const currentSection = Astro.url.pathname.split("/")[1];
9+
// grab the current top-level folder. Remove . characters for 1.1.1.1 URL
10+
const currentSection = Astro.url.pathname.split("/")[1].replaceAll(".", "");
1011
1112
if (currentSection) {
1213
const product = await getEntry("products", currentSection);
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
title: Upload a certificate bundle with an RSA and ECDSA certificate per custom hostname
3+
description: Upload a certificate bundle with an RSA and ECDSA certificate per custom hostname
4+
date: 2025-02-14T11:00:00Z
5+
---
6+
import { Card, Render, Details } from "~/components"
7+
8+
Cloudflare has supported both RSA and ECDSA certificates across our platform for a number of years. Both certificates offer the same security, but ECDSA is more performant due to a smaller key size. However, RSA is more widely adopted and ensures compatibility with legacy clients. Instead of choosing between them, you may want both – that way, ECDSA is used when clients support it, but RSA is available if not.
9+
10+
Now, you can upload both an RSA and ECDSA certificate on a custom hostname via the API.
11+
12+
```
13+
curl -X POST https://api.cloudflare.com/client/v4/zones/$ZONE_ID/custom_hostnames \
14+
-H 'Content-Type: application/json' \
15+
-H "X-Auth-Email: $CLOUDFLARE_EMAIL" \
16+
-H "X-Auth-Key: $CLOUDFLARE_API_KEY" \
17+
-d '{
18+
"hostname": "hostname",
19+
"ssl": {
20+
"custom_cert_bundle": [
21+
{
22+
"custom_certificate": "RSA Cert",
23+
"custom_key": "RSA Key"
24+
},
25+
{
26+
"custom_certificate": "ECDSA Cert",
27+
"custom_key": "ECDSA Key"
28+
}
29+
],
30+
"bundle_method": "force",
31+
"wildcard": false,
32+
"settings": {
33+
"min_tls_version": "1.0"
34+
}
35+
}
36+
}’
37+
```
38+
39+
You can also:
40+
41+
* [Upload](/api/resources/custom_hostnames/methods/create/) an RSA or ECDSA certificate to a custom hostname with an existing ECDSA or RSA certificate, respectively.
42+
43+
* [Replace](/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/update/) the RSA or ECDSA certificate with a certificate of its same type.
44+
45+
* [Delete](/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/delete/) the RSA or ECDSA certificate (if the custom hostname has both an RSA and ECDSA uploaded).
46+
47+
This feature is available for Business and Enterprise customers who have purchased custom certificates.

0 commit comments

Comments
 (0)