diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAcl.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAcl.xml index 86b608296..a86a6599e 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAcl.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAcl.xml @@ -268,6 +268,6 @@ acl.custom_acl textbox -
NOTE: This is strongly discouraged! The syntax will not be checked, use at your own risk!
]]>
+ diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml index 788660239..5d7cda972 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogAction.xml @@ -26,13 +26,13 @@ select_multiple - + action.operator dropdown - + @@ -40,9 +40,9 @@ action.type - + dropdown - + @@ -86,7 +86,7 @@ action.http-request_redirect text - HAProxy's documentation for further details and examples.]]> + HAProxy's documentation for further details and examples.]]> @@ -97,7 +97,7 @@ action.http-request_lua text - + @@ -125,7 +125,7 @@ action.http-request_add-header_content text - HAProxy's documentation for further details and examples.]]> + HAProxy's documentation for further details and examples.]]> @@ -170,7 +170,7 @@ action.http-request_replace-header_regex text - + @@ -198,7 +198,7 @@ action.http-response_lua text - + @@ -288,7 +288,7 @@ action.tcp-request_content_lua text - + @@ -310,7 +310,7 @@ action.tcp-response_content_lua text - + @@ -321,6 +321,6 @@ action.custom textbox -
NOTE: This is strongly discouraged! The syntax will not be checked, use at your own risk!
]]>
+
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml index 57c8e5774..6c7d1fbe9 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogBackend.xml @@ -78,7 +78,7 @@ backend.stickiness_pattern dropdown - HAProxy documentation for a full description.
NOTE: Consider not using this feature in multi-process mode, it can result in random behaviours.
]]>
+ HAProxy documentation for a full description.
NOTE: Consider not using this feature in multi-process mode, it can result in random behaviours.
]]>
Choose a persistence type. @@ -142,7 +142,7 @@ backend.customOptions textbox -
NOTE: The syntax will not be checked, use at your own risk!
]]>
+ true
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml index 3078d0fb3..2ed5d20a4 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml @@ -28,9 +28,9 @@ frontend.bindOptions - + text - Example: accept-proxy npn http/1.1
NOTE: The syntax will not be checked, use at your own risk!
]]>
+ Example: accept-proxy npn http/1.1
]]>
true
@@ -76,7 +76,7 @@ frontend.ssl_customOptions text - Example: no-sslv3 ciphers HIGH:!DSS:!aNULL@STRENGTH
NOTE: The syntax will not be checked, use at your own risk!
]]>
+ Example: no-sslv3 ciphers HIGH:!DSS:!aNULL@STRENGTH
]]>
true
@@ -160,7 +160,7 @@ frontend.customOptions textbox -
NOTE: This is strongly discouraged! The syntax will not be checked, use at your own risk!
]]>
+ true
diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml index 578ad7b61..59f84d496 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml @@ -103,9 +103,9 @@ server.advanced - + text - Example: send-proxy
NOTE: The syntax will not be checked, use at your own risk!
.]]>
+ Example: send-proxy
.]]>
true
diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml index cc61831f4..8587955a1 100644 --- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml +++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml @@ -834,7 +834,7 @@ SNI TLS extension starts with SNI TLS extension ends with SNI TLS extension regex - Specify a custom ACL + Custom condition (option pass-through) @@ -1056,7 +1056,7 @@ tcp-response content close tcp-response content reject tcp-response content lua script - Custom Action (HAProxy syntax) + Custom rule (option pass-through) diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M2_0_0.php b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M2_0_0.php index 7e1a72d93..621882d94 100644 --- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M2_0_0.php +++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/Migrations/M2_0_0.php @@ -141,8 +141,6 @@ class M2_0_0 extends BaseModelMigration $acl->custom_acl = (string)$acl->value; $acl->value = NULL; break; - default: - // echo "DEBUG: no ACL migration required: " . (string)$acl->name . "\n"; } } @@ -253,8 +251,6 @@ class M2_0_0 extends BaseModelMigration $action->custom = (string)$action->actionValue; $action->actionValue = NULL; break; - default: - // echo "DEBUG: no Action migration required: " . (string)$action->name . "\n"; } } @@ -281,8 +277,6 @@ class M2_0_0 extends BaseModelMigration $hc->esmtp_domain = (string)$hc->smtpDomain; $hc->smtpDomain = NULL; break; - default: - // echo "DEBUG: no Healthcheck migration required: " . (string)$hc->name . "\n"; } } diff --git a/net/haproxy/src/opnsense/mvc/app/views/OPNsense/HAProxy/index.volt b/net/haproxy/src/opnsense/mvc/app/views/OPNsense/HAProxy/index.volt index 2415237d8..f6001eab1 100644 --- a/net/haproxy/src/opnsense/mvc/app/views/OPNsense/HAProxy/index.volt +++ b/net/haproxy/src/opnsense/mvc/app/views/OPNsense/HAProxy/index.volt @@ -371,7 +371,7 @@ POSSIBILITY OF SUCH DAMAGE. {{ lang._('Real Servers') }} @@ -443,12 +443,12 @@ POSSIBILITY OF SUCH DAMAGE.

Quick Start Guide

{{ lang._('Welcome to the HAProxy plugin! This plugin is designed to offer all the features and flexibility HAProxy is famous for. If you are using HAProxy for the first time, please take some time to get familiar with it. The following information should help you to get started.')}}

-

{{ lang._('Note that you should configure everything in the following order:') }}

+

{{ lang._('Note that you should configure HAProxy in the following order:') }}

    -
  • {{ lang._('Add %sReal Servers:%s All physical or virtual servers that you want HAProxy to use should be added here.') | format('', '') }}
  • -
  • {{ lang._('Add %sBackend Pools:%s Group the previously added servers to build a server farm. All servers in a group usually deliver the same content. The Backend Pool cares for health monitoring and load distribution. A Backend Pool must also be configured if you only have a single server.') | format('', '')}}
  • -
  • {{ lang._('Add %sPublic Services:%s The Public Service listens for client connections, optionally applies rules and forwards client request data to the selected Backend Pool for load balancing (or proxying).') | format('', '') }}
  • -
  • {{ lang._('Finally enable HAProxy using the %sService Settings%s.') | format('', '') }}
  • +
  • {{ lang._('Add %sReal Servers:%s All physical or virtual servers that HAProxy should use to load balance between or proxy to.') | format('', '') }}
  • +
  • {{ lang._('Add %sBackend Pools:%s Group the previously added servers to build a server farm. All servers in a group usually deliver the same content. The Backend Pool takes care of health monitoring and load distribution. A Backend Pool must be configured even if you only have a single server.') | format('', '')}}
  • +
  • {{ lang._('Add %sPublic Services:%s The Public Service listens for client connections, optionally applies rules and forwards client request data to the selected Backend Pool for load balancing or proxying.') | format('', '') }}
  • +
  • {{ lang._('Lastly, enable HAProxy using the %sService Settings%s.') | format('', '') }}

{{ lang._('Please be aware that you need to %smanually%s add the required firewall rules for all configured services.') | format('', '') }}

{{ lang._('Further information is available in our %sHAProxy plugin documentation%s and of course in the %sofficial HAProxy documentation%s. Be sure to report bugs and request features on our %sGitHub issue page%s. Code contributions are also very welcome!') | format('', '', '', '', '', '') }}

@@ -465,6 +465,7 @@ POSSIBILITY OF SUCH DAMAGE.
  • {{ lang._('%sPort:%s The TCP or TCP port that should be used.') | format('', '') }}
  • {{ lang._("Please note that advanced mode settings allow you to disable a certain server or to configure it as a backup server in a Backend Pool. Another neat option is the possibility to adjust a server's weight relative to other servers in the same Backend Pool.") }}

    +

    {{ lang._('Note that it is possible to directly add options to the HAProxy configuration by using the "option pass-through", a setting that is available for several configuration items. It allows you to implement configurations that are currently not officially supported by this plugin. It is strongly discouraged to rely on this feature. Please report missing features on our GitHub page!') | format('', '') }}


    @@ -472,12 +473,13 @@ POSSIBILITY OF SUCH DAMAGE.

    Virtual Services

    -

    {{ lang._("HAProxy requires two virtual services for it's loadbalancing and proxying features. The following virtual services must be configured for everything that should be served by HAProxy:") }}

    +

    {{ lang._("HAProxy requires two virtual services for its load balancing and proxying features. The following virtual services must be configured for everything that should be served by HAProxy:") }}

    • {{ lang._('%sBackend Pools:%s The HAProxy backend. Group the %spreviously added servers%s to build a server farm. All servers in a group usually deliver the same content. The Backend Pool cares for health monitoring and load distribution. A Backend Pool must also be configured if you only have a single server. The same Backend Pool may be used for multiple Public Services.') | format('', '', '', '') }}
    • -
    • {{ lang._('%sPublic Services:%s The HAProxy frontend. The Public Service listens for client connections, optionally applies rules and forwards client request data to the selected Backend Pool for load balancing (or proxying). Every Public Service needs to be connected to a %spreviously created Backend Pool%s.') | format('', '', '', '') }}
    • +
    • {{ lang._('%sPublic Services:%s The HAProxy frontend. The Public Service listens for client connections, optionally applies rules and forwards client request data to the selected Backend Pool for load balancing or proxying. Every Public Service needs to be connected to a %spreviously created Backend Pool%s.') | format('', '', '', '') }}

    {{ lang._('Remember to add firewall rules for all configured Public Services.') }}

    +

    {{ lang._('Note that it is possible to directly add options to the HAProxy configuration by using the "option pass-through", a setting that is available for several configuration items. It allows you to implement configurations that are currently not officially supported by this plugin. It is strongly discouraged to rely on this feature. Please report missing features on our GitHub page!') | format('', '') }}


    @@ -485,13 +487,14 @@ POSSIBILITY OF SUCH DAMAGE.

    Rules & Checks

    -

    {{ lang._("These are all optional features, HAProxy can be used without them. After getting used to HAProxy you'll find these optional features pretty useful:") }}

    +

    {{ lang._("After getting acquainted with HAProxy the following optional features may prove useful:") }}

    • {{ lang._('%sHealth Monitors:%s The HAProxy "health checks". Health Monitors are used by %sBackend Pools%s to determine if a server is still able to respond to client requests. If a server fails a health check it will automatically be removed from a Backend Pool and healthy servers are automatically re-added.') | format('', '', '', '') }}
    • -
    • {{ lang._('%sConditions:%s HAProxy is capable of extracting data from requests, responses and other connection data and match it against predefined patterns. Use these powerful patterns to compose a condition that may be used in (multiple) Rules.') | format('', '') }}
    • +
    • {{ lang._('%sConditions:%s HAProxy is capable of extracting data from requests, responses and other connection data and match it against predefined patterns. Use these powerful patterns to compose a condition that may be used in multiple Rules.') | format('', '') }}
    • {{ lang._('%sRules:%s Perform a large set of actions if one or more %sConditions%s match. These Rules may be used in %sBackend Pools%s as well as %sPublic Services%s.') | format('', '', '', '', '', '', '', '') }}

    {{ lang._("For more information on HAProxy's %sACL feature%s see the %sofficial documentation%s.") | format('', '', '', '') }}

    +

    {{ lang._('Note that it is possible to directly add options to the HAProxy configuration by using the "option pass-through", a setting that is available for several configuration items. It allows you to implement configurations that are currently not officially supported by this plugin. It is strongly discouraged to rely on this feature. Please report missing features on our GitHub page!') | format('', '') }}