summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorn.christian@seime.no>2024-04-03 17:00:20 +0200
committerGitHub <noreply@github.com>2024-04-03 17:00:20 +0200
commitf57333f6f657518f82246a08bafdb659c1fc68db (patch)
tree0ed3c345e3589c1178c534b95886e4153bffd8ce
parent439ec806d3f78dc3cb74f02504b51e53d30c6cac (diff)
parent1a9e7c845a524b79c1122f8007d00d2d5bb45ca9 (diff)
Merge pull request #30804 from vespa-engine/revert-30797-hakonhall/disable-proxy-protocol-on-jdisc-containers-in-azure-2
Revert "Disable proxy protocol on jdisc containers in Azure, #2"
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/http/ssl/HostedSslConnectorFactory.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java4
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java10
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def2
4 files changed, 12 insertions, 11 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ssl/HostedSslConnectorFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ssl/HostedSslConnectorFactory.java
index 5f824950ecd..08b0398a98f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ssl/HostedSslConnectorFactory.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ssl/HostedSslConnectorFactory.java
@@ -24,6 +24,7 @@ public class HostedSslConnectorFactory extends ConnectorFactory {
private final SslClientAuth clientAuth;
private final List<String> tlsCiphersOverride;
private final boolean proxyProtocolEnabled;
+ private final boolean proxyProtocolMixedMode;
private final Duration endpointConnectionTtl;
private final List<String> remoteAddressHeaders;
private final List<String> remotePortHeaders;
@@ -36,6 +37,7 @@ public class HostedSslConnectorFactory extends ConnectorFactory {
this.clientAuth = builder.clientAuth;
this.tlsCiphersOverride = List.copyOf(builder.tlsCiphersOverride);
this.proxyProtocolEnabled = builder.proxyProtocolEnabled;
+ this.proxyProtocolMixedMode = builder.proxyProtocolMixedMode;
this.endpointConnectionTtl = builder.endpointConnectionTtl;
this.remoteAddressHeaders = List.copyOf(builder.remoteAddressHeaders);
this.remotePortHeaders = List.copyOf(builder.remotePortHeaders);
@@ -68,7 +70,7 @@ public class HostedSslConnectorFactory extends ConnectorFactory {
}
connectorBuilder
.proxyProtocol(new ConnectorConfig.ProxyProtocol.Builder()
- .enabled(proxyProtocolEnabled))
+ .enabled(proxyProtocolEnabled).mixedMode(proxyProtocolMixedMode))
.idleTimeout(Duration.ofSeconds(30).toSeconds())
.maxConnectionLife(endpointConnectionTtl != null ? endpointConnectionTtl.toSeconds() : 0)
.accessLog(new ConnectorConfig.AccessLog.Builder()
@@ -87,6 +89,7 @@ public class HostedSslConnectorFactory extends ConnectorFactory {
SslClientAuth clientAuth;
List<String> tlsCiphersOverride = List.of();
boolean proxyProtocolEnabled;
+ boolean proxyProtocolMixedMode;
Duration endpointConnectionTtl;
EndpointCertificateSecrets endpointCertificate;
String tlsCaCertificatesPem;
@@ -98,7 +101,7 @@ public class HostedSslConnectorFactory extends ConnectorFactory {
public Builder clientAuth(SslClientAuth auth) { clientAuth = auth; return this; }
public Builder endpointConnectionTtl(Duration ttl) { endpointConnectionTtl = ttl; return this; }
public Builder tlsCiphersOverride(Collection<String> ciphers) { tlsCiphersOverride = List.copyOf(ciphers); return this; }
- public Builder proxyProtocol(boolean enabled) { proxyProtocolEnabled = enabled; return this; }
+ public Builder proxyProtocol(boolean enabled, boolean mixedMode) { proxyProtocolEnabled = enabled; proxyProtocolMixedMode = mixedMode; return this; }
public Builder endpointCertificate(EndpointCertificateSecrets cert) { this.endpointCertificate = cert; return this; }
public Builder tlsCaCertificatesPath(String path) { this.tlsCaCertificatesPath = path; return this; }
public Builder tlsCaCertificatesPem(String pem) { this.tlsCaCertificatesPem = pem; return this; }
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index eac03531b86..c71dbb158b0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -598,7 +598,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
// If the deployment contains certificate/private key reference, setup TLS port
var builder = HostedSslConnectorFactory.builder(serverName, getMtlsDataplanePort(state))
- .proxyProtocol(state.zone().cloud().useProxyProtocol())
+ .proxyProtocol(true, state.getProperties().featureFlags().enableProxyProtocolMixedMode())
.tlsCiphersOverride(state.getProperties().tlsCiphersOverride())
.endpointConnectionTtl(state.getProperties().endpointConnectionTtl());
var endpointCert = state.endpointCertificateSecrets().orElse(null);
@@ -657,7 +657,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
// Setup dedicated connector
var connector = HostedSslConnectorFactory.builder(server.getComponentId().getName()+"-token", tokenPort)
.tokenEndpoint(true)
- .proxyProtocol(false)
+ .proxyProtocol(false, false)
.endpointCertificate(endpointCert)
.remoteAddressHeader("X-Forwarded-For")
.remotePortHeader("X-Forwarded-Port")
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
index 73c6010f514..5ef42d12dc1 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
@@ -54,6 +54,11 @@ public class Zone {
this.region = region;
}
+ // TODO(mpolden): For compatibility with older config models. Remove when versions < 8.76 are gone
+ public Cloud getCloud() {
+ return cloud();
+ }
+
/** Returns the current cloud */
public Cloud cloud() { return cloud; }
@@ -97,10 +102,5 @@ public class Zone {
return Objects.hash(environment, region);
}
- // TODO(mpolden): For compatibility with older config models. Remove when versions < 8.327 are gone
- @Deprecated(forRemoval = true)
- public Cloud getCloud() {
- return cloud();
- }
}
diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def
index 2906f75a1f5..95b93617b6f 100644
--- a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def
+++ b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def
@@ -123,8 +123,6 @@ healthCheckProxy.cacheExpiry double default=1.0
proxyProtocol.enabled bool default=false
# Allow https in parallel with proxy protocol
-# TODO Vespa 9 Remove
-# Unused since 8.327
proxyProtocol.mixedMode bool default=false
# Maximum number of request per connection before server marks connections as non-persistent. Set to '0' to disable.