You've already forked haproxy-wi
mirror of
https://github.com/roxy-wi/roxy-wi.git
synced 2025-12-18 12:04:07 +08:00
v8.2.2: Add security headers and HTTP/2 support for Nginx configuration in models, templates, and JS
- Introduced `NginxProxyPassSecurity` model for managing security headers and server token settings. - Enhanced templates and JavaScript to support `hide_server_tokens`, `security_headers`, and `hsts` options. - Updated Ansible and migration files to align with new security and HTTP/2 features.
This commit is contained in:
@@ -214,6 +214,7 @@ function getNginxFormData($form, form_name) {
|
||||
indexed_array['locations'] = [];
|
||||
indexed_array['backend_servers'] = [];
|
||||
indexed_array['name_aliases'] = [];
|
||||
indexed_array['security'] = {};
|
||||
let headers = [];
|
||||
|
||||
$.map(unindexed_array, function (n, i) {
|
||||
@@ -244,6 +245,12 @@ function getNginxFormData($form, form_name) {
|
||||
} else {
|
||||
indexed_array['ssl_offloading'] = false;
|
||||
}
|
||||
} else if (n['name'] === 'hsts') {
|
||||
if ($('input[name="hsts"]').is(':checked')) {
|
||||
indexed_array['hsts'] = true;
|
||||
} else {
|
||||
indexed_array['hsts'] = false;
|
||||
}
|
||||
} else if (n['name'] === 'http2') {
|
||||
if ($('input[name="http2"]').is(':checked')) {
|
||||
indexed_array['http2'] = true;
|
||||
@@ -261,6 +268,15 @@ function getNginxFormData($form, form_name) {
|
||||
}
|
||||
indexed_array['name_aliases'].push(name);
|
||||
});
|
||||
let hide_server_tokens = false;
|
||||
let security_headers = false;
|
||||
if ($('#hide_server_tokens').is(':checked')) {
|
||||
hide_server_tokens = true;
|
||||
}
|
||||
if ($('#security_headers').is(':checked')) {
|
||||
security_headers = true;
|
||||
}
|
||||
indexed_array['security'] = {'hide_server_tokens': hide_server_tokens, 'security_headers': security_headers};
|
||||
$('#'+form_name+' span[name="add_servers"] p').each(function (){
|
||||
let server = $(this).children("input[name='servers']").val();
|
||||
if (server === undefined || server === '') {
|
||||
@@ -274,7 +290,7 @@ function getNginxFormData($form, form_name) {
|
||||
});
|
||||
let elementsForDelete = [
|
||||
'servers', 'server_port', 'max_fails', 'fail_timeout', 'proxy_connect_timeout', 'proxy_read_timeout', 'proxy_send_timeout',
|
||||
'headers_res', 'header_name', 'header_value', 'upstream', 'server', 'name_alias'
|
||||
'headers_res', 'header_name', 'header_value', 'upstream', 'server', 'name_alias', 'hide_server_tokens', 'security_headers'
|
||||
]
|
||||
for (let element of elementsForDelete) {
|
||||
delete indexed_array[element]
|
||||
|
||||
Reference in New Issue
Block a user