diff --git a/changelog.d/10122.doc b/changelog.d/10122.doc
new file mode 100644
index 0000000000000000000000000000000000000000..07a0d2520d0a6ac1ba2b54f65727ae3071b46bb0
--- /dev/null
+++ b/changelog.d/10122.doc
@@ -0,0 +1 @@
+Mention in the sample homeserver config that you may need to configure max upload size in your reverse proxy. Contributed by @aaronraimist.
diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml
index 7b97f73a296bd79b1af43af252ec7084c0b642d7..f8925a5e242825630e7ddfef91ac21446ac8d1ff 100644
--- a/docs/sample_config.yaml
+++ b/docs/sample_config.yaml
@@ -954,6 +954,10 @@ media_store_path: "DATADIR/media_store"
 
 # The largest allowed upload size in bytes
 #
+# If you are using a reverse proxy you may also need to set this value in
+# your reverse proxy's config. Notably Nginx has a small max body size by default.
+# See https://matrix-org.github.io/synapse/develop/reverse_proxy.html.
+#
 #max_upload_size: 50M
 
 # Maximum number of pixels that will be thumbnailed
diff --git a/synapse/config/repository.py b/synapse/config/repository.py
index c78a83abe16e627db345bb83d802500ef9463b9f..2f77d6703debfacde07bc0140531539580027834 100644
--- a/synapse/config/repository.py
+++ b/synapse/config/repository.py
@@ -248,6 +248,10 @@ class ContentRepositoryConfig(Config):
 
         # The largest allowed upload size in bytes
         #
+        # If you are using a reverse proxy you may also need to set this value in
+        # your reverse proxy's config. Notably Nginx has a small max body size by default.
+        # See https://matrix-org.github.io/synapse/develop/reverse_proxy.html.
+        #
         #max_upload_size: 50M
 
         # Maximum number of pixels that will be thumbnailed