new options
This commit is contained in:
@@ -78,6 +78,15 @@
|
||||
placeholder="80" min="1" max="65535" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-12">
|
||||
<label for="frontend_hostname" class="form-label">Frontend Hostname (Domain)</label>
|
||||
<input type="text" class="form-control" id="frontend_hostname" name="frontend_hostname"
|
||||
placeholder="e.g. hosts.h.linuxiarz.pl" required>
|
||||
<div class="form-text">Domain name for the ACL rule - traffic will be matched by Host header</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-6">
|
||||
@@ -101,16 +110,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-12">
|
||||
<label for="frontend_hostname" class="form-label">Frontend Hostname (Domain)</label>
|
||||
<input type="text" class="form-control" id="frontend_hostname" name="frontend_hostname"
|
||||
placeholder="e.g. hosts.h.linuxiarz.pl" required>
|
||||
<div class="form-text">Domain name for the ACL rule - traffic will be matched by Host header</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- SSL Section -->
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-12">
|
||||
@@ -125,8 +124,9 @@
|
||||
|
||||
<div class="row g-3 mb-3 d-none" id="ssl_fields">
|
||||
<div class="col-md-12">
|
||||
<label for="ssl_cert_path" class="form-label">SSL Certificate Path</label>
|
||||
<small>Upload certs in /ssl/</small>
|
||||
<label for="ssl_cert_path" class="form-label">SSL Certificate Path
|
||||
<small>Upload certs in /ssl/</small></label>
|
||||
|
||||
<input type="text" class="form-control" id="ssl_cert_path" name="ssl_cert_path"
|
||||
value="/app/ssl/haproxy-configurator.pem">
|
||||
<div class="form-text">Full path to .pem file</div>
|
||||
@@ -142,6 +142,29 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Backend SSL Redirect -->
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="backend_ssl_redirect"
|
||||
name="backend_ssl_redirect">
|
||||
<label class="form-check-label" for="backend_ssl_redirect">
|
||||
<i class="bi bi-arrow-repeat me-1"></i>Add HTTP Redirect to HTTPS
|
||||
</label>
|
||||
<div class="form-text small">Creates additional frontend on port 80 to redirect HTTP to HTTPS backend</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3 mb-3 d-none" id="backend_ssl_fields">
|
||||
<div class="col-md-12">
|
||||
<label for="ssl_redirect_backend_name" class="form-label">Redirect Backend Name (HTTP → HTTPS)</label>
|
||||
<input type="text" class="form-control" id="ssl_redirect_backend_name"
|
||||
name="ssl_redirect_backend_name" placeholder="e.g. be_redirect">
|
||||
<div class="form-text">Name for the redirect backend that will push traffic to HTTPS</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-4">
|
||||
|
||||
<!-- BACKEND SECTION -->
|
||||
@@ -369,79 +392,70 @@
|
||||
|
||||
<hr class="my-4">
|
||||
|
||||
<!-- ACL SECTION -->
|
||||
<h6 class="text-primary mb-3"><i class="bi bi-diagram-3 me-2"></i>ACL & Routing</h6>
|
||||
<!-- CUSTOM ACL SECTION (NEW) -->
|
||||
<h6 class="text-primary mb-3"><i class="bi bi-shuffle me-2"></i>Custom ACL Rules (Advanced)</h6>
|
||||
|
||||
<div class="row g-3 mb-3 http-only">
|
||||
<div class="col-md-12">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="add_acl" name="add_acl">
|
||||
<label class="form-check-label" for="add_acl">
|
||||
<i class="bi bi-shuffle me-1"></i>Add ACL
|
||||
<input class="form-check-input" type="checkbox" id="add_custom_acl" name="add_custom_acl">
|
||||
<label class="form-check-label" for="add_custom_acl">
|
||||
<i class="bi bi-sliders me-1"></i>Add Custom ACL Rule
|
||||
</label>
|
||||
<div class="form-text small">Create additional routing or blocking rules beyond hostname matching</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="acl_fields">
|
||||
<input type="text" class="form-control" id="acl" name="acl" placeholder="acl_name">
|
||||
</div>
|
||||
|
||||
<!-- Custom ACL Fields (Hidden by default) -->
|
||||
<div class="row g-3 mb-3 http-only d-none" id="custom_acl_fields">
|
||||
<div class="col-md-3">
|
||||
<label for="custom_acl_name" class="form-label">ACL Name</label>
|
||||
<input type="text" class="form-control" id="custom_acl_name" name="custom_acl_name"
|
||||
placeholder="e.g. is_admin_path">
|
||||
<div class="form-text small">Unique identifier for this rule</div>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="acl_fields">
|
||||
<select class="form-select" id="acl_action" name="acl_action">
|
||||
<option value="hdr">Header</option>
|
||||
<option value="path">Path</option>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label for="custom_acl_type" class="form-label">Rule Type</label>
|
||||
<select class="form-select" id="custom_acl_type" name="custom_acl_type">
|
||||
<option value="path_beg">Path Begins With</option>
|
||||
<option value="path_end">Path Ends With</option>
|
||||
<option value="path_sub">Path Contains</option>
|
||||
<option value="hdr">Header Contains</option>
|
||||
<option value="src">Source IP</option>
|
||||
<option value="method">HTTP Method</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="acl_fields">
|
||||
<input type="text" class="form-control" id="backend_name_acl" name="backend_name_acl"
|
||||
placeholder="backend_name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Path-based routing -->
|
||||
<div class="row g-3 mb-3 http-only">
|
||||
<div class="col-md-12">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="add_path_based" name="add_path_based">
|
||||
<label class="form-check-label" for="add_path_based">
|
||||
<i class="bi bi-arrow-repeat me-1"></i>Path-based Redirect
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label for="custom_acl_value" class="form-label">Rule Value</label>
|
||||
<input type="text" class="form-control" id="custom_acl_value" name="custom_acl_value"
|
||||
placeholder="e.g. /admin, api, 192.168.1.0/24, GET">
|
||||
<div class="form-text small">Value to match (path, header name, IP, method)</div>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="base_redirect_fields">
|
||||
<input type="text" class="form-control" id="redirect_domain_name" name="redirect_domain_name"
|
||||
placeholder="domain.com">
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="base_redirect_fields">
|
||||
<input type="text" class="form-control" id="root_redirect" name="root_redirect"
|
||||
placeholder="/">
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="base_redirect_fields">
|
||||
<input type="text" class="form-control" id="redirect_to" name="redirect_to"
|
||||
placeholder="https://example.com">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Forbidden paths -->
|
||||
<div class="row g-3 mb-3 http-only">
|
||||
<div class="col-md-12">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="add_acl_path" name="add_acl_path">
|
||||
<label class="form-check-label" for="add_acl_path">
|
||||
<i class="bi bi-ban me-1"></i>Block Paths
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label for="custom_acl_action" class="form-label">Action</label>
|
||||
<select class="form-select" id="custom_acl_action" name="custom_acl_action">
|
||||
<option value="route">Route to Backend</option>
|
||||
<option value="deny">Block (Deny)</option>
|
||||
<option value="redirect">Redirect</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="forbidden_fields">
|
||||
<input type="text" class="form-control" id="forbidden_name" name="forbidden_name"
|
||||
placeholder="forbidden_acl">
|
||||
|
||||
<div class="col-md-6 d-none" id="acl_backend_select">
|
||||
<label for="custom_acl_backend" class="form-label">Target Backend</label>
|
||||
<input type="text" class="form-control" id="custom_acl_backend" name="custom_acl_backend"
|
||||
placeholder="e.g. be_admin">
|
||||
<div class="form-text small">Backend to send matching traffic to</div>
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="forbidden_fields">
|
||||
<input type="text" class="form-control" id="allowed_ip" name="allowed_ip"
|
||||
placeholder="192.168.1.0/24">
|
||||
</div>
|
||||
<div class="col-md-4 d-none" id="forbidden_fields">
|
||||
<input type="text" class="form-control" id="forbidden_path" name="forbidden_path"
|
||||
placeholder="/admin">
|
||||
|
||||
<div class="col-md-6 d-none" id="acl_redirect_select">
|
||||
<label for="custom_acl_redirect_url" class="form-label">Redirect URL</label>
|
||||
<input type="text" class="form-control" id="custom_acl_redirect_url" name="custom_acl_redirect_url"
|
||||
placeholder="e.g. https://example.com/new-path">
|
||||
<div class="form-text small">URL to redirect matching requests to</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user