diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
old mode 100644
new mode 100755
index 2ff4b5350..7db9a802f
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -881,6 +881,28 @@ $form["tabs"]['web'] = array(
 			'default' => 'n',
 			'value' => array(0 => 'n',1 => 'y')
 		),
+        'vhost_haproxy_enabled' => array (
+            'datatype' => 'VARCHAR',
+            'formtype' => 'CHECKBOX',
+            'default' => 'n',
+            'value' => array(0 => 'n',1 => 'y')
+        ),
+        'vhost_haproxy_http_port' => array(
+            'datatype' => 'VARCHAR',
+            'formtype' => 'TEXT',
+            'default' => '880',
+            'value' => '',
+            'width' => '40',
+            'maxlength' => '255'
+        ),
+        'vhost_haproxy_https_port' => array(
+            'datatype' => 'VARCHAR',
+            'formtype' => 'TEXT',
+            'default' => '8443',
+            'value' => '',
+            'width' => '40',
+            'maxlength' => '255'
+        ),
 		'vhost_conf_dir' => array(
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng
old mode 100644
new mode 100755
index b7e75ffd4..84e5118b2
--- a/interface/web/admin/lib/lang/ar_server_config.lng
+++ b/interface/web/admin/lib/lang/ar_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng
old mode 100644
new mode 100755
index 37f654d5a..5aa4ac89b
--- a/interface/web/admin/lib/lang/bg_server_config.lng
+++ b/interface/web/admin/lib/lang/bg_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng
old mode 100644
new mode 100755
index b016ad04c..15c513dbb
--- a/interface/web/admin/lib/lang/br_server_config.lng
+++ b/interface/web/admin/lib/lang/br_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'Caminho do DKIM';
 $wb['backup_delete_txt'] = 'Remover backups do domínio/site';
 $wb['v6_prefix_txt'] = 'Prefixo IPv6';
 $wb['vhost_rewrite_v6_txt'] = 'Reescrever prefixo IPv6 no espelho';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefixo longo definido de acordo com IPv6';
 $wb['backup_dir_is_mount_txt'] = 'Diretório de backup está montado?';
 $wb['monitor_system_updates_txt'] = 'Verificar por atualizações Linux';
diff --git a/interface/web/admin/lib/lang/ca_server_config.lng b/interface/web/admin/lib/lang/ca_server_config.lng
old mode 100644
new mode 100755
index a83144b33..bcc653be7
--- a/interface/web/admin/lib/lang/ca_server_config.lng
+++ b/interface/web/admin/lib/lang/ca_server_config.lng
@@ -200,6 +200,9 @@ $wb['munin_url_error_regex'] = 'Invalid Munin URL';
 $wb['munin_url_note_txt'] = 'Placeholder:';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng
old mode 100644
new mode 100755
index 9a7656352..562ba2a1a
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -251,6 +251,9 @@ $wb['reject_sender_login_mismatch_txt'] = 'Reject sender and login mismatch';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Zakázat  MongoDB monitorování';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Odstranit zálohy pokud byla smazána doména/webové stránky';
diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
old mode 100644
new mode 100755
index b0d5aac0d..d8d8a9c5e
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -211,6 +211,9 @@ $wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht g
 $wb['backup_delete_txt'] = 'Backups loeschen wenn eine Domain / Webseite geloescht wird';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix zu lang fuer angegebene IPv6-Adresse ';
 $wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
 $wb['dkim_strength_txt'] = 'DKIM Stärke';
diff --git a/interface/web/admin/lib/lang/dk_server_config.lng b/interface/web/admin/lib/lang/dk_server_config.lng
old mode 100644
new mode 100755
index 26f953d5b..8a615fdaf
--- a/interface/web/admin/lib/lang/dk_server_config.lng
+++ b/interface/web/admin/lib/lang/dk_server_config.lng
@@ -254,6 +254,9 @@ $wb['backup_time_txt'] = 'Backup time';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Disable MongoDB monitoring';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng
old mode 100644
new mode 100755
index 1298ea71a..151537541
--- a/interface/web/admin/lib/lang/el_server_config.lng
+++ b/interface/web/admin/lib/lang/el_server_config.lng
@@ -255,6 +255,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Disable MongoDB monitoring';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
old mode 100644
new mode 100755
index d16f721c6..f373060f6
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -209,6 +209,9 @@ $wb['nagios_url_error_regex'] = 'Invalid Nagios/Check_MK URL';
 $wb['nagios_url_note_txt'] = 'Check_MK is being autodetected. Placeholder:';
 $wb["v6_prefix_txt"] = 'IPv6 Prefix';
 $wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index 5ce3381d9..546cea19a 100755
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -250,6 +250,9 @@ $wb['vhost_conf_enabled_dir_error_empty'] = 'El directorio de configuración de
 $wb['vhost_conf_enabled_dir_error_regex'] = 'El directorio de configuración para Vhost habilitados es inválido.';
 $wb['vhost_conf_enabled_dir_txt'] = 'Directorio de configuración de host virtual habilitados';
 $wb['vhost_rewrite_v6_txt'] = 'Reescribir IPv6 en el espejo';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['vlogger_config_dir_error_empty'] = 'El directorio de configuración de vlogger está vacío.';
 $wb['vlogger_config_dir_error_regex'] = 'El directorio de configuración de vlogger es inválido.';
 $wb['web_folder_protection_txt'] = 'Hacer inalterables las carpetas web (atributos extendidos)';
diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng
index 4609ce5b1..6c518d8eb 100755
--- a/interface/web/admin/lib/lang/fi_server_config.lng
+++ b/interface/web/admin/lib/lang/fi_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng
old mode 100644
new mode 100755
index e31d68383..371d865b5
--- a/interface/web/admin/lib/lang/fr_server_config.lng
+++ b/interface/web/admin/lib/lang/fr_server_config.lng
@@ -253,6 +253,9 @@ $wb['reject_sender_login_mismatch_txt'] = 'Reject sender and login mismatch';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Disable MongoDB monitoring';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
old mode 100644
new mode 100755
index c54a67659..9447ee38a
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng
old mode 100644
new mode 100755
index 1ac1cd268..af33e5051
--- a/interface/web/admin/lib/lang/hu_server_config.lng
+++ b/interface/web/admin/lib/lang/hu_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
old mode 100644
new mode 100755
index a47389196..8799d6014
--- a/interface/web/admin/lib/lang/id_server_config.lng
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng
old mode 100644
new mode 100755
index 36cedf46e..de1208211
--- a/interface/web/admin/lib/lang/it_server_config.lng
+++ b/interface/web/admin/lib/lang/it_server_config.lng
@@ -253,6 +253,9 @@ $wb['reject_sender_login_mismatch_txt'] = 'Reject sender and login mismatch';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Disable MongoDB monitoring';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng
old mode 100644
new mode 100755
index 76c400728..744dca4a6
--- a/interface/web/admin/lib/lang/ja_server_config.lng
+++ b/interface/web/admin/lib/lang/ja_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
old mode 100644
new mode 100755
index 41692444f..796e17dbf
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng
old mode 100644
new mode 100755
index c052b7f37..6be10b1b3
--- a/interface/web/admin/lib/lang/pl_server_config.lng
+++ b/interface/web/admin/lib/lang/pl_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
old mode 100644
new mode 100755
index 4767022e4..9f1d504a6
--- a/interface/web/admin/lib/lang/pt_server_config.lng
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng
old mode 100644
new mode 100755
index 41b967b73..a4253ab7c
--- a/interface/web/admin/lib/lang/ro_server_config.lng
+++ b/interface/web/admin/lib/lang/ro_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng
old mode 100644
new mode 100755
index 0775ab7f8..efbe8e7ea
--- a/interface/web/admin/lib/lang/ru_server_config.lng
+++ b/interface/web/admin/lib/lang/ru_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'Путь DKIM';
 $wb['backup_delete_txt'] = 'Удалять резервные копии домена/сайта, которые были удалены';
 $wb['v6_prefix_txt'] = 'Префикс IPv6';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Префикс слишком длинный в соответствии с определенным IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Каталог для резервных копий монтируется?';
 $wb['monitor_system_updates_txt'] = 'Проверить наличие обновлений в Linux';
diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng
old mode 100644
new mode 100755
index 5808fb2f5..aada358e1
--- a/interface/web/admin/lib/lang/se_server_config.lng
+++ b/interface/web/admin/lib/lang/se_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng
old mode 100644
new mode 100755
index d5b1f92bf..c77c57521
--- a/interface/web/admin/lib/lang/sk_server_config.lng
+++ b/interface/web/admin/lib/lang/sk_server_config.lng
@@ -199,6 +199,9 @@ $wb['dkim_path_txt'] = 'DKIM Path';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
 $wb['monitor_system_updates_txt'] = 'Check for Linux updates';
diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng
old mode 100644
new mode 100755
index c7be37926..33546fbb2
--- a/interface/web/admin/lib/lang/tr_server_config.lng
+++ b/interface/web/admin/lib/lang/tr_server_config.lng
@@ -254,6 +254,9 @@ $wb['backup_time_txt'] = 'Backup time';
 $wb['do_not_try_rescue_mongodb_txt'] = 'Disable MongoDB monitoring';
 $wb['v6_prefix_txt'] = 'IPv6 Prefix';
 $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror';
+$wb['vhost_haproxy_enabled_txt'] = 'Enable Haproxy';
+$wb['vhost_haproxy_http_port_txt'] = 'Haproxy HTTP Port';
+$wb['vhost_haproxy_https_port_txt'] = 'Haproxy HTTPS Port';
 $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 ';
 $wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
 $wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
old mode 100644
new mode 100755
index bb61d866c..c8005f1b3
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -54,6 +54,21 @@
 				{tmpl_var name='vhost_rewrite_v6'}
 			</div>
 		</div>
+            <div class="form-group">
+                <label for="vhost_haproxy_enabled" class="col-sm-3 control-label">{tmpl_var name='vhost_haproxy_enabled_txt'}</label>
+                <div class="col-sm-9">
+                    {tmpl_var name='vhost_haproxy_enabled'}
+                </div>
+            </div>
+          <div class="form-group apache">
+              <label for="vhost_haproxy_http_port" class="col-sm-3 control-label">{tmpl_var name='vhost_haproxy_http_port_txt'}</label>
+              <div class="col-sm-9"><input type="text" name="vhost_haproxy_http_port" id="vhost_haproxy_http_port" value="{tmpl_var name='vhost_haproxy_http_port'}" class="form-control" /></div>
+          </div>
+          <div class="form-group apache">
+              <label for="vhost_haproxy_https_port" class="col-sm-3 control-label">{tmpl_var name='vhost_haproxy_https_port_txt'}</label>
+              <div class="col-sm-9"><input type="text" name="vhost_haproxy_https_port" id="vhost_haproxy_https_port" value="{tmpl_var name='vhost_haproxy_https_port'}" class="form-control" /></div>
+          </div>
+
             <div class="form-group apache">
                 <label for="vhost_conf_dir" class="col-sm-3 control-label">{tmpl_var name='vhost_conf_dir_txt'}</label>
                 <div class="col-sm-9"><input type="text" name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" class="form-control" /></div></div>
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
old mode 100644
new mode 100755
index 7d129e559..3e4303a29
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -7,6 +7,15 @@
 
 <tmpl_loop name='vhosts'>
 <VirtualHost {tmpl_var name='ip_address'}:{tmpl_var name='port'}>
+
+<tmpl_if name='proxy_protocol'>
+    <tmpl_if name='apache_version' op='>=' value='2.4.30' format='version'>
+    RemoteIPProxyProtocol On
+    </tmpl_else>
+    ProxyProtocol On
+    </tmpl_if>
+</tmpl_if>
+
 <tmpl_hook name='apache2_vhost:vhost_header'>
 <tmpl_if name='enable_spdy' op='==' value='y'>
 <tmpl_if name='apache_version' op='>=' value='2.4' format='version'>
diff --git a/server/lib/classes/plugin_webserver_apache.inc.php b/server/lib/classes/plugin_webserver_apache.inc.php
old mode 100644
new mode 100755
index 027a8f18a..900d91072
--- a/server/lib/classes/plugin_webserver_apache.inc.php
+++ b/server/lib/classes/plugin_webserver_apache.inc.php
@@ -416,6 +416,13 @@ class plugin_webserver_apache {
 		if(count($this->rewrite_rules) > 0)  $tmp_vhost_arr = $tmp_vhost_arr + array('redirects' => $this->rewrite_rules);
 		if(count($this->alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $this->alias_seo_redirects);
 		$vhosts[] = $tmp_vhost_arr;
+
+        //if haproxy is enabled we need to add a new port to lsiten to
+        if($web_config['vhost_haproxy_enabled'] == 'y'){
+            $tmp_vhost_arr['port'] = $web_config['vhost_haproxy_http_port'];
+            $tmp_vhost_arr['proxy_protocol'] = 1;
+            $vhosts[] = $tmp_vhost_arr;
+        }
 		unset($tmp_vhost_arr);
 
 		//* Add vhost for ipv4 IP with SSL
@@ -430,6 +437,13 @@ class plugin_webserver_apache {
 			}
 			if(count($ipv4_ssl_alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $ipv4_ssl_alias_seo_redirects);
 			$vhosts[] = $tmp_vhost_arr;
+
+			//if haproxy is enabled we need to add a new port to lsiten to
+			if($web_config['vhost_haproxy_enabled'] == 'y'){
+                $tmp_vhost_arr['port'] = $web_config['vhost_haproxy_https_port'];
+                $tmp_vhost_arr['proxy_protocol'] = 1;
+                $vhosts[] = $tmp_vhost_arr;
+            }
 			unset($tmp_vhost_arr, $ipv4_ssl_alias_seo_redirects);
 		}
 
