Running WSE 4.7.7 (build 20181108145350)
I have an Amazon S3 source that needs to be accessed over HTTPS.
With the “Base Path” set to “https://s3.amazonaws.com/” MediaCacheItemHTTPImpl logs the HTTPS URL but MediaCacheHTTPByteReader makes the request over HTTP:
2019-04-05 07:41:45 PDT comment server DEBUG 200 - MediaCacheItemHTTPImpl.init hostId:[bucket redacted].s3.amazonaws.com url:https://[bucket redacted].s3.amazonaws.com/[key redacted]
2019-04-05 07:41:45 PDT comment server INFO 200 - MediaCacheHTTPByteReader.getHeadCommand[http://[bucket redacted].s3.amazonaws.com:80/[key redacted]]: /[key redacted]
I’ve noticed that when setting Base Path for an “HTTP” source to use https:// the “httpReaderFactoryClass” is automatically set to “com.wowza.wms.mediacache.impl.MediaCacheItemHTTPSSLReaderFactory”. This change does NOT occur for an “AmazonS3” source, even though it uses HTTP.
If I set the httpReaderFactoryClass manually as a test again MediaCacheItemHTTPImpl logs the HTTPS URL but MediaCacheHTTPSSLByteReader makes the request with the wrong domain:
2019-04-05 08:56:20 PDT comment server DEBUG 200 - MediaCacheItemHTTPImpl.init hostId:[bucket redacted].s3.amazonaws.com url:https://[bucket redacted].s3.amazonaws.com/[key redacted]
2019-04-05 08:56:20 PDT comment server INFO 200 - MediaCacheHTTPSSLByteReader.head Request URL: [key redacted]
2019-04-05 08:56:20 PDT comment server INFO 200 - MediaCacheHTTPSSLByteReader.connect Request URL: https://s3.amazonaws.com/[key redacted]
2019-04-05 08:56:20 PDT comment server INFO 200 - MediaCacheHTTPSSLByteReader.connected Request URL: https://s3.amazonaws.com/[key redacted]
(Notice that the bucket name is not in the domain the request is made to. Changing “Use Amazon S3 bucket name in domain” has no affect in this schenario. When the box is unchecked the bucket name is not moved to the path.)
What is the correct configuration for accessing the S3 bucket of HTTPS?