diff options
| author | Leitwolf11 | 2026-11-06 08:00:18 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-11-06 08:00:18 +0300 |
| commit | e13d8e3d85fed0d8b8421c624dac2e69e3398cab (patch) | |
| tree | 2af653e61417a8620a6bc7f5e258262d7994ce4c | |
| parent | 1439b240a8231c5206e3c8d4f245493a076f2841 (diff) | |
| download | website-e13d8e3d85fed0d8b8421c624dac2e69e3398cab.tar.gz | |
Let Cloudflare Web Analytics run on the Tala sites
Cloudflare adds its Web Analytics beacon to each page it serves. The
policies of tala.run, talac.tala.run, talafmt.tala.run and
talalint.tala.run fell back to default-src 'self' for scripts, so the
browser refused the beacon. They now allow scripts from
static.cloudflareinsights.com and connections to cloudflareinsights.com;
the beacon reports to /cdn-cgi/rum on the same host.
| -rw-r--r-- | ops/nginx/tala.conf | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ops/nginx/tala.conf b/ops/nginx/tala.conf index 2b75fdd..a8164ff 100644 --- a/ops/nginx/tala.conf +++ b/ops/nginx/tala.conf @@ -7,6 +7,7 @@ # name. xsharp-lang.xyz, the former domain, answers with a permanent redirect to # the same path on tala.run. tazel.tala.run, where the build system was # documented, answers with a permanent redirect to tazel.net, its own site. +# The policies allow Cloudflare Web Analytics, which Cloudflare adds to each page. server { listen 80 default_server; @@ -57,7 +58,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - add_header Content-Security-Policy "default-src 'self'; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://static.cloudflareinsights.com; connect-src 'self' https://cloudflareinsights.com; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header X-Content-Type-Options "nosniff" always; @@ -134,7 +135,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - add_header Content-Security-Policy "default-src 'self'; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://static.cloudflareinsights.com; connect-src 'self' https://cloudflareinsights.com; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header X-Content-Type-Options "nosniff" always; @@ -194,7 +195,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - add_header Content-Security-Policy "default-src 'self'; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://static.cloudflareinsights.com; connect-src 'self' https://cloudflareinsights.com; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header X-Content-Type-Options "nosniff" always; @@ -254,7 +255,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - add_header Content-Security-Policy "default-src 'self'; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://static.cloudflareinsights.com; connect-src 'self' https://cloudflareinsights.com; img-src 'self' data:; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header X-Content-Type-Options "nosniff" always; |