Problem space:
I want to have the squiz edge as an origin in cloudfront so that i can have some pages fully managed by the content team without developer intervention.
Issues encounted
cloudfront started returning 502 errors which their documentation relates to ssl issues.
Squiz the company needs to be contacted to do an update on their squiz edge system to acknowledge your hostname as well as setup required inside squiz matrix.
Outcome:
Cloudfront has two rules for SSL passthrough,
Rule 1: Origin Domain Name you request against must match ssl cert
Rule 2: If Rule1 fails, Host header must match ssl cert.
If my front end domain is zyx.
My Origin Domain Name is lpo
If the origin returns ssl cert zyx or lpo it will pass. If it passes abc it will fail.
Now in relation to Squiz.
When we do a low level ssl cert check against their staging edge network
if the server name is the hostname, we get *.squizedge.net
If its (valid configured domain without custom ssl cert) we get *.clients.net.au if its (invalid domain) we get *.squizedge.net
What we want is to have *.squizedge.net to be provided to as instead of *.clients.squiz.net cert.
Below is how to test.
openssl s_client -showcerts -servername staging.squizedge.net -connect staging.squizedge.net:443
depth=0 C = AU, ST = New South Wales, L = Sydney, O = SQUIZ PTY LTD, CN = *.squizedge.net
depth=0 C = AU, ST = New South Wales, L = Sydney, O = SQUIZ PTY LTD, CN = *.squizedge.net
openssl s_client -showcerts -servername (valid domain without custom ssl cert) -connect staging.squizedge.net:443
depth=0 C = AU, ST = New South Wales, L = Sydney, O = Squiz Australia Pty. Ltd., CN =
*.clients.squiz.net
openssl s_client -showcerts -servername (invalid domain) -connect staging.squizedge.net:443
depth=0 C = AU, ST = New South Wales, L = Sydney, O = SQUIZ PTY LTD, CN =
*.squizedge.net
openssl s_client -showcerts -servername (valid domain with custom ssl cert) -connect staging.squizedge.net:443
(valid ssl cert depth=0 provided)
ALSO
do ensure you are picking tls1.1 or higher as ssl3 handshake with squizedge is an instant deny
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1564975196
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---