Pavel Loginov 2021-01-08 14:14:14 +06:00
parent aded951984
commit 03b8cbe4ba
4 changed files with 60 additions and 16 deletions

View File

@ -212,6 +212,7 @@ elif form.getvalue('mode') is not None:
server_port = form.getlist('server_port')
send_proxy = form.getlist('send_proxy')
backup = form.getlist('backup')
server_maxconn = form.getlist('server_maxconn')
i = 0
for server in servers:
if form.getvalue('template') is None:
@ -222,6 +223,7 @@ elif form.getvalue('mode') is not None:
send_proxy_param = ''
except Exception:
send_proxy_param = ''
try:
if backup[i] == '1':
backup_param = 'backup'
@ -229,11 +231,18 @@ elif form.getvalue('mode') is not None:
backup_param = ''
except Exception:
backup_param = ''
servers_split += " server {0} {0}:{1}{2} {3} {4} \n".format(server,
try:
maxconn_val = server_maxconn[i]
except Exception:
maxconn_val = '200'
servers_split += " server {0} {0}:{1} maxconn {5}{2} {3} {4} \n".format(server,
server_port[i],
check,
send_proxy_param,
backup_param)
backup_param,
maxconn_val)
else:
servers_split += " server-template {0} {1} {2}:{3} {4} \n".format(form.getvalue('prefix'),
form.getvalue('template-number'),

View File

@ -7,18 +7,21 @@
<input name="prefix" class="prefix form-control" title="servers prefix" size="3" placeholder="web" style="display: none;">
<input name="template-number" class="prefix form-control" title="servers num" value="3" type="number" style="width: 35px; display: none;">
<input name="servers" required title="Backend IP" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control">:
<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control">
<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control add_server_number" type="number">
<input name="server_maxconn" required title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">
<span class="send_proxy"></span>
<br />
<input name="servers" title="Backend port" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control second-server"><span class="second-server">:</span>
<input name="server_port" title="Backend port" size=3 placeholder="yyy" class="form-control second-server">
<input name="server_port" title="Backend port" size=3 placeholder="yyy" class="form-control second-server add_server_number" type="number">
<input name="server_maxconn" title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">
<span class="send_proxy"></span>
<br />
<input name="servers" title="Backend port" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control second-server"><span class="second-server">:</span>
<input name="server_port" title="Backend port" size=3 placeholder="yyy" class="form-control second-server">
<input name="server_port" title="Backend port" size=3 placeholder="yyy" class="form-control second-server add_server_number" type="number">
<input name="server_maxconn" required title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">
<span class="send_proxy"></span>
</span>
<span>
<a class="add-server" name="add-server-input" title="Add backend server" style="cursor: pointer;"></a>
<a class="link add-server backend_server" name="add-server-input" title="Add backend server" style="cursor: pointer;"></a>
</span>
<a href="https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#4.2-server-template" title="Read about Server-template" target="_blank" class="prefix" style="display: none; font-size: 13px; color: #23527c;">Read about Server-template</a>

View File

@ -649,13 +649,15 @@ $( function() {
if ($(':regex(id, template)').is(':checked')) {
$( ".prefix" ).show( "fast" );
$( ".second-server" ).hide( "fast" );
$( ".add-server" ).hide( "fast" );
$( ".backend_server" ).hide( "fast" );
$( ".send_proxy" ).hide( "fast" );
$( ".prefix" ).attr('required',true);
} else {
$( ".prefix" ).hide( "fast" );
$( ".prefix" ).attr('required',false);
$( ".second-server" ).show( "fast" );
$( ".add-server" ).show( "fast" )
$( ".backend_server" ).show( "fast" )
$( ".send_proxy" ).show( "fast" )
}
});
var location = window.location.href;
@ -886,7 +888,9 @@ $( function() {
toastr.error('Wrong e-mail format');
}
});
var add_server_var = '<br /><input name="servers" title="Backend IP" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control">: <input name="server_port" title="Backend port" size=3 placeholder="yyy" class="form-control">'
var add_server_var = '<br /><input name="servers" title="Backend IP" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control">: ' +
'<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control add_server_number" type="number">' +
'<input name="server_maxconn" required title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">'
$('[name=add-server-input]').click(function() {
$("[name=add_servers]").append(add_server_var);
});
@ -960,11 +964,11 @@ $( function() {
});
$( "#create-ssl-frontend" ).on( "click", function() {
resetProxySettings();
createSsl(2, 'frontend');
createSsl(2, 'frontend');
});
$( "#create-ssl-backend" ).on( "click", function() {
resetProxySettings();
createSsl(3, 'backend');
createSsl(3, 'backend');
});
$( "#create-https-listen" ).on( "click", function() {
resetProxySettings();
@ -1299,18 +1303,18 @@ function view_ssl(id) {
},
type: "POST",
success: function( data ) {
if (data.indexOf('error:') != '-1') {
if (data.indexOf('error: ') != '-1') {
toastr.error(data);
} else {
$('#dialog-confirm-body').text(data);
$( "#dialog-confirm-cert" ).dialog({
resizable: false,
height: "auto",
width: 650,
width: 670,
modal: true,
title: "Certificate from "+$('#serv5').val()+", name: "+id,
buttons: {
Ok: function() {
Close: function() {
$( this ).dialog( "close" );
}
}
@ -1412,7 +1416,7 @@ function editList(list, color) {
buttons: {
"Delete": function() {
$( this ).dialog( "close" );
deleteList(list, color);
confirmDeleting('list', list, $( this ), color);
},
"Just save": function() {
$( this ).dialog( "close" );
@ -1570,4 +1574,29 @@ function addProxy(form_name) {
$(this).val('')
}
});
}
function confirmDeleting(deleting_thing, id, dialog_id, color) {
$( "#dialog-confirm" ).dialog({
resizable: false,
height: "auto",
width: 400,
modal: true,
title: "Are you sure you want to delete this " + deleting_thing + " " +id + "?",
buttons: {
"Delete": function() {
if (deleting_thing == "SSL cert") {
deleteSsl(id);
$(dialog_id).dialog( "close" );
} else if (deleting_thing == "list") {
deleteList(id, color);
$(dialog_id).dialog( "close" );
}
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
$(dialog_id).dialog( "open" );
}
}
});
}

View File

@ -338,6 +338,9 @@ pre {
padding-left: 10px;
font-style: italic;
}
.add_server_number {
width: 50px;
}
.overview {
width: 100%;
}
@ -1191,4 +1194,4 @@ label {
font-weight: bold;
width: 110px;
height: 60px;
}
}