diff --git a/backend/migrations/20241209025008_client_max_body_size.js b/backend/migrations/20241209025008_client_max_body_size.js
new file mode 100644
index 000000000..600732f2e
--- /dev/null
+++ b/backend/migrations/20241209025008_client_max_body_size.js
@@ -0,0 +1,34 @@
+const migrate_name = 'client_max_body_size';
+const logger       = require('../logger').migrate;
+
+/**
+ * Migrate
+ *
+ * @see http://knexjs.org/#Schema
+ *
+ * @param   {Object}  knex
+ * @param   {Promise} Promise
+ * @returns {Promise}
+ */
+exports.up = function (knex/*, Promise*/) {
+	logger.info('[' + migrate_name + '] Migrating Up...');
+
+	return knex.schema.table('proxy_host', function (proxy_host) {
+		proxy_host.integer('client_max_body_size').notNull().unsigned().defaultTo('1');
+	})
+		.then(() => {
+			logger.info('[' + migrate_name + '] proxy_host Table altered');
+		});
+};
+
+/**
+ * Undo Migrate
+ *
+ * @param   {Object}  knex
+ * @param   {Promise} Promise
+ * @returns {Promise}
+ */
+exports.down = function (knex, Promise) {
+	logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
+	return Promise.resolve(true);
+};
\ No newline at end of file
diff --git a/backend/schema/components/proxy-host-object.json b/backend/schema/components/proxy-host-object.json
index 5098802b1..fb1667e17 100644
--- a/backend/schema/components/proxy-host-object.json
+++ b/backend/schema/components/proxy-host-object.json
@@ -9,6 +9,7 @@
 		"domain_names",
 		"forward_host",
 		"forward_port",
+		"client_max_body_size",
 		"access_list_id",
 		"certificate_id",
 		"ssl_forced",
@@ -52,6 +53,11 @@
 			"minimum": 1,
 			"maximum": 65535
 		},
+		"client_max_body_size": {
+			"type": "integer",
+			"minimum": 1,
+			"maximum": 4096
+		},
 		"access_list_id": {
 			"$ref": "../common.json#/properties/access_list_id"
 		},
@@ -112,6 +118,9 @@
 					"forward_port": {
 						"$ref": "#/properties/forward_port"
 					},
+					"client_max_body_size": {
+						"$ref": "#/properties/client_max_body_size"
+					},
 					"forward_path": {
 						"type": "string"
 					},
diff --git a/backend/schema/paths/nginx/proxy-hosts/get.json b/backend/schema/paths/nginx/proxy-hosts/get.json
index 1d9f63351..222d08e5b 100644
--- a/backend/schema/paths/nginx/proxy-hosts/get.json
+++ b/backend/schema/paths/nginx/proxy-hosts/get.json
@@ -34,6 +34,7 @@
 									"domain_names": ["test.example.com"],
 									"forward_host": "127.0.0.1",
 									"forward_port": 8989,
+									"client_max_body_size": 1,
 									"access_list_id": 0,
 									"certificate_id": 0,
 									"ssl_forced": false,
diff --git a/backend/schema/paths/nginx/proxy-hosts/hostID/get.json b/backend/schema/paths/nginx/proxy-hosts/hostID/get.json
index 5e10a9cfd..e0fb7e4d8 100644
--- a/backend/schema/paths/nginx/proxy-hosts/hostID/get.json
+++ b/backend/schema/paths/nginx/proxy-hosts/hostID/get.json
@@ -34,6 +34,7 @@
 								"domain_names": ["test.example.com"],
 								"forward_host": "192.168.0.10",
 								"forward_port": 8989,
+								"client_max_body_size": 1,
 								"access_list_id": 0,
 								"certificate_id": 0,
 								"ssl_forced": false,
diff --git a/backend/schema/paths/nginx/proxy-hosts/hostID/put.json b/backend/schema/paths/nginx/proxy-hosts/hostID/put.json
index 5cab6e752..836b46f90 100644
--- a/backend/schema/paths/nginx/proxy-hosts/hostID/put.json
+++ b/backend/schema/paths/nginx/proxy-hosts/hostID/put.json
@@ -41,6 +41,9 @@
 						"forward_port": {
 							"$ref": "../../../../components/proxy-host-object.json#/properties/forward_port"
 						},
+						"client_max_body_size": {
+							"$ref": "../../../../components/proxy-host-object.json#/properties/client_max_body_size"
+						},
 						"certificate_id": {
 							"$ref": "../../../../components/proxy-host-object.json#/properties/certificate_id"
 						},
@@ -100,6 +103,7 @@
 								"domain_names": ["test.example.com"],
 								"forward_host": "192.168.0.10",
 								"forward_port": 8989,
+								"client_max_body_size": 1,
 								"access_list_id": 0,
 								"certificate_id": 0,
 								"ssl_forced": false,
diff --git a/backend/schema/paths/nginx/proxy-hosts/post.json b/backend/schema/paths/nginx/proxy-hosts/post.json
index 85455fb6b..6edb9fd19 100644
--- a/backend/schema/paths/nginx/proxy-hosts/post.json
+++ b/backend/schema/paths/nginx/proxy-hosts/post.json
@@ -29,6 +29,9 @@
 						"forward_port": {
 							"$ref": "../../../components/proxy-host-object.json#/properties/forward_port"
 						},
+						"client_max_body_size": {
+							"$ref": "../../../components/proxy-host-object.json#/properties/client_max_body_size"
+						},
 						"certificate_id": {
 							"$ref": "../../../components/proxy-host-object.json#/properties/certificate_id"
 						},
@@ -88,6 +91,7 @@
 								"domain_names": ["test.example.com"],
 								"forward_host": "127.0.0.1",
 								"forward_port": 8989,
+								"client_max_body_size": 1,
 								"access_list_id": 0,
 								"certificate_id": 0,
 								"ssl_forced": false,
diff --git a/backend/templates/proxy_host.conf b/backend/templates/proxy_host.conf
index d23ca46fa..356841602 100644
--- a/backend/templates/proxy_host.conf
+++ b/backend/templates/proxy_host.conf
@@ -47,6 +47,8 @@ proxy_http_version 1.1;
   }
 {% endif %}
 
+  client_max_body_size {{ client_max_body_size }}m;
+
   # Custom
   include /data/nginx/custom/server_proxy[.]conf;
 }
diff --git a/frontend/js/app/nginx/proxy/form.ejs b/frontend/js/app/nginx/proxy/form.ejs
index 8e7a2a2df..6285aa1ef 100644
--- a/frontend/js/app/nginx/proxy/form.ejs
+++ b/frontend/js/app/nginx/proxy/form.ejs
@@ -81,7 +81,12 @@
                                 </label>
                             </div>
                         </div>
-
+                        <div class="col-sm-12 col-md-12">
+                            <div class="form-group">
+                                <label class="form-label"><%- i18n('proxy-hosts', 'client-max-body-size' ) %></label>
+                                <input name="client_max_body_size" type="number" class="form-control text-monospace" placeholder="1" value="<%- client_max_body_size %>" required>
+                            </div>
+                        </div>
                         <div class="col-sm-12 col-md-12">
                             <div class="form-group">
                                 <label class="form-label"><%- i18n('proxy-hosts', 'access-list') %></label>
diff --git a/frontend/js/app/nginx/proxy/form.js b/frontend/js/app/nginx/proxy/form.js
index 4437a6ddd..7eb8152cf 100644
--- a/frontend/js/app/nginx/proxy/form.js
+++ b/frontend/js/app/nginx/proxy/form.js
@@ -160,6 +160,7 @@ module.exports = Mn.View.extend({
 
             // Manipulate
             data.forward_port            = parseInt(data.forward_port, 10);
+            data.client_max_body_size    = parseInt(data.client_max_body_size, 10);
             data.block_exploits          = !!data.block_exploits;
             data.caching_enabled         = !!data.caching_enabled;
             data.allow_websocket_upgrade = !!data.allow_websocket_upgrade;
diff --git a/frontend/js/i18n/messages.json b/frontend/js/i18n/messages.json
index 0bbde4541..3a665d335 100644
--- a/frontend/js/i18n/messages.json
+++ b/frontend/js/i18n/messages.json
@@ -125,6 +125,7 @@
       "forward-scheme": "Scheme",
       "forward-host": "Forward Hostname / IP",
       "forward-port": "Forward Port",
+      "client-max-body-size": "Max proxied upload size (Mb)",
       "delete": "Delete Proxy Host",
       "delete-confirm": "Are you sure you want to delete the Proxy host for: <strong>{domains}</strong>?",
       "help-title": "What is a Proxy Host?",
diff --git a/frontend/js/models/proxy-host.js b/frontend/js/models/proxy-host.js
index b82d09fef..ed3eb9bcf 100644
--- a/frontend/js/models/proxy-host.js
+++ b/frontend/js/models/proxy-host.js
@@ -12,6 +12,7 @@ const model = Backbone.Model.extend({
             forward_scheme:          'http',
             forward_host:            '',
             forward_port:            null,
+            client_max_body_size:    1,
             access_list_id:          0,
             certificate_id:          0,
             ssl_forced:              false,
diff --git a/test/cypress/e2e/api/ProxyHosts.cy.js b/test/cypress/e2e/api/ProxyHosts.cy.js
index 5bc645800..ac048a834 100644
--- a/test/cypress/e2e/api/ProxyHosts.cy.js
+++ b/test/cypress/e2e/api/ProxyHosts.cy.js
@@ -18,6 +18,7 @@ describe('Proxy Hosts endpoints', () => {
 				forward_scheme: 'http',
 				forward_host:   '1.1.1.1',
 				forward_port:   80,
+				client_max_body_size: 1,
 				access_list_id: '0',
 				certificate_id: 0,
 				meta:           {