Fix "Add -haproxy-protocol startup parameter" (#1216)

This reverts commit b23c2c6e1a.
This commit is contained in:
powercas_gamer
2024-01-21 21:25:34 +01:00
committed by GitHub
parent b23c2c6e1a
commit 5f27edf3c2
3 changed files with 25 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ public final class ProxyOptions {
private static final Logger logger = LogManager.getLogger(ProxyOptions.class);
private final boolean help;
private final @Nullable Integer port;
private final @Nullable Boolean haproxy;
ProxyOptions(final String[] args) {
final OptionParser parser = new OptionParser();
@@ -43,10 +44,16 @@ public final class ProxyOptions {
final OptionSpec<Integer> port = parser.acceptsAll(Arrays.asList("p", "port"),
"Specify the bind port to be used. The configuration bind port will be ignored.")
.withRequiredArg().ofType(Integer.class);
final OptionSpec<Boolean> haproxy = parser.acceptsAll(
Arrays.asList("haproxy", "haproxy-protocol"),
"Choose whether to enable haproxy protocol. "
+ "The configuration haproxy protocol will be ignored.")
.withRequiredArg().ofType(Boolean.class);
final OptionSet set = parser.parse(args);
this.help = set.has(help);
this.port = port.value(set);
this.haproxy = haproxy.value(set);
if (this.help) {
try {
@@ -64,4 +71,8 @@ public final class ProxyOptions {
public @Nullable Integer getPort() {
return this.port;
}
public @Nullable Boolean isHaproxy() {
return this.haproxy;
}
}

View File

@@ -257,6 +257,12 @@ public class VelocityServer implements ProxyServer, ForwardingAudience {
this.cm.bind(configuration.getBind());
}
final Boolean haproxy = this.options.isHaproxy();
if (haproxy != null) {
logger.debug("Overriding HAProxy protocol to {} from command line option", haproxy);
configuration.setProxyProtocol(haproxy);
}
if (configuration.isQueryEnabled()) {
this.cm.queryBind(configuration.getBind().getHostString(), configuration.getQueryPort());
}

View File

@@ -354,6 +354,10 @@ public class VelocityConfiguration implements ProxyConfig {
return advanced.isProxyProtocol();
}
public void setProxyProtocol(boolean proxyProtocol) {
advanced.setProxyProtocol(proxyProtocol);
}
public boolean useTcpFastOpen() {
return advanced.isTcpFastOpen();
}
@@ -755,6 +759,10 @@ public class VelocityConfiguration implements ProxyConfig {
return proxyProtocol;
}
public void setProxyProtocol(boolean proxyProtocol) {
this.proxyProtocol = proxyProtocol;
}
public boolean isTcpFastOpen() {
return tcpFastOpen;
}