Class SSLTermination
java.lang.Object
org.jclouds.rackspace.cloudloadbalancers.v1.domain.SSLTermination
The SSL Termination feature allows a load balancer user to terminate SSL traffic at the load balancer layer versus
at the web server layer. A user may choose to configure SSL Termination using a key and an SSL certificate or an
(Intermediate) SSL certificate.
When SSL Termination is configured on a load balancer, a secure shadow server is created that listens only for
secure traffic on a user-specified port. This shadow server is only visible to and manageable by the system.
Existing or updated attributes on a load balancer with SSL Termination will also apply to its shadow server.
For example, if Connection Logging is enabled on an SSL load balancer, it will also be enabled on the shadow server
and Cloud Files logs will contain log files for both.
Notes
- SSL Termination may only be configured on load balancers with non-secure protocols. For example, SSL Termination can be applied to an HTTP load balancer, but not to an HTTPS load balancer.
- SSL-terminated load balancers decrypt the traffic at the traffic manager and pass unencrypted traffic to the back-end node. Because of this, the customer's back-end nodes don't know what protocol the client requested. Therefore the X-Forwarded-Proto (XFP) header has been added for identifying the originating protocol of an HTTP request as "http" or "https" depending on what protocol the client requested.
- Not every service will return certificates in the proper order. Please verify that your chain of certificates matches that of walking up the chain from the domain to the CA root.
- If SSL is enabled on a load balancer that is configured with nodes that are NOT in the same datacenter, then decrypted traffic will be sent in clear text over the public internet to the external node(s) and will no longer be secure.
Optional SSL Attributes | Non-SSL Traffic | SSL Traffic |
enabled = true (default) |
Yes | Yes |
enabled = false |
Yes | No |
secureTrafficOnly = true |
No | Yes |
secureTrafficOnly = false (default) |
Yes | Yes |
|
No | Yes |
|
Yes | Yes |
|
Yes | No |
|
Yes | No |
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
SSLTermination
(boolean enabled, boolean secureTrafficOnly, int securePort, String certificate, String privateKey, String intermediateCertificate) -
Method Summary
Modifier and TypeMethodDescriptionstatic SSLTermination.Builder
builder()
boolean
com.google.common.base.Optional
<String> boolean
com.google.common.base.Optional
<String> com.google.common.base.Optional
<String> int
boolean
int
hashCode()
protected com.google.common.base.MoreObjects.ToStringHelper
string()
toString()
-
Constructor Details
-
SSLTermination
@ConstructorProperties({"enabled","secureTrafficOnly","securePort","certificate","privatekey","intermediateCertificate"}) protected SSLTermination(boolean enabled, boolean secureTrafficOnly, int securePort, String certificate, String privateKey, String intermediateCertificate)
-
-
Method Details
-
getEnabled
public boolean getEnabled() -
getSecureTrafficOnly
public boolean getSecureTrafficOnly() -
getSecurePort
public int getSecurePort() -
getCertificate
-
getPrivateKey
-
getIntermediateCertificate
-
hashCode
public int hashCode() -
equals
-
string
protected com.google.common.base.MoreObjects.ToStringHelper string() -
toString
-
builder
-
toBuilder
-