Skip to content

Commit 93d9833

Browse files
committed
1
1 parent 05b81d8 commit 93d9833

10 files changed

Lines changed: 78 additions & 23 deletions

File tree

Dockerfile

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,32 @@ ENV LANG=zh_CN.UTF-8 \
55
# RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
66
RUN apk add --update --no-cache \
77
nginx \
8-
nginx-mod-* \
8+
nginx-mod-stream \
9+
nginx-mod-stream-geoip \
10+
nginx-mod-stream-geoip2 \
11+
nginx-mod-stream-js \
12+
nginx-mod-stream-keyval \
13+
nginx-mod-http-headers-more \
14+
nginx-mod-http-js \
15+
nginx-mod-http-keyval \
16+
nginx-mod-http-lua \
17+
nginx-mod-http-lua-upstream \
18+
nginx-mod-http-brotli \
19+
nginx-mod-rtmp \
20+
nginx-mod-mail \
21+
nginx-mod-http-geoip \
22+
nginx-mod-http-geoip2 \
23+
nginx-mod-http-zip \
24+
nginx-mod-http-zstd \
25+
nginx-mod-http-perl \
26+
nginx-mod-http-upload \
27+
nginx-mod-http-upload-progress \
28+
nginx-mod-http-upstream-fair \
29+
nginx-mod-http-upstream-jdomain \
30+
nginx-mod-http-echo \
31+
nginx-mod-http-cache-purge \
32+
nginx-mod-dynamic-upstream \
33+
nginx-mod-dynamic-healthcheck \
934
openjdk8-jre \
1035
net-tools \
1136
curl \

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ Path : JDK安装目录\bin
111111

112112
```
113113
Linux: mkdir /home/nginxWebUI/
114-
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.9/nginxWebUI-4.2.9.jar
114+
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.3.0/nginxWebUI-4.3.0.jar
115115
116-
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.9/nginxWebUI-4.2.9.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
116+
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.3.0/nginxWebUI-4.3.0.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
117117
```
118118

119119
有新版本只需要修改路径中的版本即可

README_EN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ reboot
107107

108108
```
109109
Linux: mkdir /home/nginxWebUI/
110-
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.9/nginxWebUI-4.2.9.jar
110+
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.3.0/nginxWebUI-4.3.0.jar
111111
112-
Windows: Download directly from your browser https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.9/nginxWebUI-4.2.9.jar into D:/home/nginxWebUI/
112+
Windows: Download directly from your browser https://gitee.com/cym1102/nginxWebUI/releases/download/4.3.0/nginxWebUI-4.3.0.jar into D:/home/nginxWebUI/
113113
```
114114

115115
With a new version, you just need to change the version in the path

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<modelVersion>4.0.0</modelVersion>
1212
<groupId>com.cym</groupId>
1313
<artifactId>nginxWebUI</artifactId>
14-
<version>4.2.9</version>
14+
<version>4.3.0</version>
1515

1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

src/main/java/com/cym/model/Stream.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ public class Stream extends BaseModel {
2222
String value;
2323
@JsonIgnore
2424
Long seq;
25-
26-
2725

2826
public String getName() {
2927
return name;

src/main/java/com/cym/model/UpstreamServer.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,23 @@ public class UpstreamServer extends BaseModel {
6060
Integer monitorStatus;
6161

6262

63+
/**
64+
* 是否启用 1:启用(默认) 0:禁用
65+
*/
66+
@InitValue("1")
67+
Integer enable;
68+
69+
70+
71+
72+
public Integer getEnable() {
73+
return enable;
74+
}
75+
76+
public void setEnable(Integer enable) {
77+
this.enable = enable;
78+
}
79+
6380
public String getParam() {
6481
return param;
6582
}

src/main/java/com/cym/service/ConfService.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,11 @@ public synchronized ConfExt buildConf(Boolean decompose, Boolean check) {
144144

145145
List<UpstreamServer> upstreamServers = upstreamService.getUpstreamServers(upstream.getId());
146146
for (UpstreamServer upstreamServer : upstreamServers) {
147-
ngxParam = new NgxParam();
148-
ngxParam.addValue("server " + buildNodeStr(upstreamServer));
149-
ngxBlockServer.addEntry(ngxParam);
147+
if (upstreamServer.getEnable() == 1) {
148+
ngxParam = new NgxParam();
149+
ngxParam.addValue("server " + buildNodeStr(upstreamServer));
150+
ngxBlockServer.addEntry(ngxParam);
151+
}
150152
}
151153

152154
// 自定义参数
@@ -400,9 +402,11 @@ public NgxBlock buildBlockUpstream(Upstream upstream) {
400402

401403
List<UpstreamServer> upstreamServers = upstreamService.getUpstreamServers(upstream.getId());
402404
for (UpstreamServer upstreamServer : upstreamServers) {
403-
ngxParam = new NgxParam();
404-
ngxParam.addValue("server " + buildNodeStr(upstreamServer));
405-
ngxBlockServer.addEntry(ngxParam);
405+
if (upstreamServer.getEnable() == 1) {
406+
ngxParam = new NgxParam();
407+
ngxParam.addValue("server " + buildNodeStr(upstreamServer));
408+
ngxBlockServer.addEntry(ngxParam);
409+
}
406410
}
407411

408412
// 自定义参数
@@ -456,7 +460,7 @@ public void httpListenPort(Server server, NgxBlock ngxBlockServer, Boolean isIpv
456460
} else {
457461
ports = processPort(server.getListen());
458462
}
459-
463+
460464
String listenKey = null;
461465
if (isIpv6) {
462466
listenKey = "listen [::]:";
@@ -488,8 +492,7 @@ public void httpListenPort(Server server, NgxBlock ngxBlockServer, Boolean isIpv
488492
}
489493

490494
}
491-
492-
495+
493496
public void tcpListenPort(Server server, NgxBlock ngxBlockServer, Boolean isIpv6) {
494497
String host = null;
495498
List<Integer> ports = null;
@@ -501,7 +504,7 @@ public void tcpListenPort(Server server, NgxBlock ngxBlockServer, Boolean isIpv6
501504
} else {
502505
ports = processPort(server.getListen());
503506
}
504-
507+
505508
String listenKey = null;
506509
if (isIpv6) {
507510
listenKey = "listen [::]:";
@@ -510,7 +513,7 @@ public void tcpListenPort(Server server, NgxBlock ngxBlockServer, Boolean isIpv6
510513
} else {
511514
listenKey = "listen ";
512515
}
513-
516+
514517
String value = "";
515518
for (Integer port : ports) {
516519
NgxParam ngxParam = new NgxParam();
@@ -738,13 +741,11 @@ public NgxBlock bulidBlockServer(Server server, ConfExt confExt) {
738741
} else {
739742
ngxBlockServer.addValue("server");
740743

741-
742744
// 监听端口
743745
tcpListenPort(server, ngxBlockServer, false);
744746
if (server.getIpv6() == 1) {
745747
tcpListenPort(server, ngxBlockServer, true);
746748
}
747-
748749

749750
// 指向负载均衡
750751
Upstream upstream = sqlHelper.findById(server.getProxyUpstreamId(), Upstream.class);

src/main/resources/WEB-INF/view/adminPage/server/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@
295295

296296
<div class="layui-form-item" style="padding-left: 20px;">
297297
<input type="checkbox" name="def" id="def" title="default_server" lay-skin="primary">
298-
<input type="checkbox" name="proxyProtocol" id="proxy_protocol" title="proxy protocol" lay-skin="primary">
298+
<input type="checkbox" name="proxyProtocol" id="proxyProtocol" title="proxy protocol" lay-skin="primary">
299299
<input type="checkbox" name="ipv6" id="ipv6" title="${serverStr.ipv6}" lay-skin="primary" >
300300
</div>
301301

src/main/resources/WEB-INF/view/adminPage/upstream/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
<table class="layui-table" lay-size="sm">
230230
<thead>
231231
<tr>
232+
<th>${serverStr.status}</th>
232233
<th>ip <span class="red">*</span></th>
233234
<th>${upstreamStr.port} <span class="red">*</span></th>
234235
<th>${upstreamStr.weight}</th>

src/main/resources/static/js/adminPage/upstream/index.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ function showWindow(title) {
6565
layer.open({
6666
type: 1,
6767
title: title,
68-
area: ['1000px', '600px'], // 宽高
68+
area: ['1200px', '600px'], // 宽高
6969
content: $('#windowDiv')
7070
});
7171
}
@@ -107,6 +107,7 @@ function addOver() {
107107
$(".itemList").children().each(function() {
108108

109109
var upstreamServer = {};
110+
upstreamServer.enable = $(this).find("input[name='enable']").prop("checked") ? 1 : 0;
110111
upstreamServer.server = $(this).find("input[name='server']").val();
111112
upstreamServer.port = $(this).find("input[name='port']").val();
112113
upstreamServer.weight = $(this).find("input[name='weight']").val();
@@ -185,7 +186,14 @@ function edit(id,clone) {
185186
for (let i = 0; i < list.length; i++) {
186187
var upstreamServer = list[i];
187188
var uuid = guid();
189+
190+
var checked = upstreamServer.enable?"checked":"";
188191
html += `<tr id='${uuid}'>
192+
<td>
193+
<div class="layui-inline" >
194+
<input type="checkbox" name="enable" value="${upstreamServer.id}" lay-skin="switch" ${checked}>
195+
</div>
196+
</td>
189197
<td><input type="text" name="server" class="layui-input" value="${upstreamServer.server}"></td>
190198
<td><input type="number" name="port" class="layui-input" value="${upstreamServer.port}"></td>
191199
<td><input type="number" name="weight" class="layui-input" value="${upstreamServer.weight}"></td>
@@ -284,6 +292,11 @@ function delMany() {
284292
function addItem() {
285293
var uuid = guid();
286294
var html = `<tr id='${uuid}'>
295+
<td>
296+
<div class="layui-inline" >
297+
<input type="checkbox" name="enable" value="${uuid}" lay-skin="switch" checked>
298+
</div>
299+
</td>
287300
<td><input type="text" name="server" class="layui-input"></td>
288301
<td><input type="number" name="port" class="layui-input"></td>
289302
<td><input type="number" name="weight" class="layui-input"></td>

0 commit comments

Comments
 (0)