summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniele Sluijters <daenney@users.noreply.github.com>2020-11-23 14:01:18 +0100
committerGitHub <noreply@github.com>2020-11-23 13:01:18 +0000
commit8ca120df7c2964c73390dbfab9ceba03f76eadfe (patch)
treeca2b1610d8d45b625aec420d4bdc3a6b51282492
parentfix MD (diff)
downloadsynapse-8ca120df7c2964c73390dbfab9ceba03f76eadfe.tar.xz
INSTALL: Fix setting content-type on well-known (#8793)
When using `add_header` nginx will literally add a header. If a
`content-type` header is already configured (for example through a
server wide default), this means we end up with 2 content-type headers,
like so:

```
content-type: text/html
content-type: application/json
access-control-allow-origin: *
```

That doesn't make sense. Instead, we want the content type of that
block to only be `application/json` which we can achieve using
`default_type` instead.

Signed-off-by: Daniele Sluijters <daenney@users.noreply.github.com>
-rw-r--r--INSTALL.md2
-rw-r--r--changelog.d/8793.doc1
2 files changed, 2 insertions, 1 deletions
diff --git a/INSTALL.md b/INSTALL.md
index c6fcb3bd7f..eaeb690092 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -487,7 +487,7 @@ In nginx this would be something like:
 ```
 location /.well-known/matrix/client {
     return 200 '{"m.homeserver": {"base_url": "https://<matrix.example.com>"}}';
-    add_header Content-Type application/json;
+    default_type application/json;
     add_header Access-Control-Allow-Origin *;
 }
 ```
diff --git a/changelog.d/8793.doc b/changelog.d/8793.doc
new file mode 100644
index 0000000000..f6eee1ea73
--- /dev/null
+++ b/changelog.d/8793.doc
@@ -0,0 +1 @@
+Fix the example on how to set the `Content-Type` header in nginx for the Client Well-Known URI.