Recently I tried to use Chrome with a RTC debug Server running on Jetty. I was unable to do so. Why does this happen and is there a work around?
This problem only occurs when using the RTC SDK for RTC versions prior to RTC 6.x. The RTC 6.0 and later SDK’s are not affected as they enable TLS.
* Update * see Unable to Connect to the Jetty Server Using Current Browsers Due to SSL Error Extending RTC Versions Lower Than 6.x for newest developments and potential workarounds. This work around does no longer work for the newest versions of Chrome.
When I tried to navigate to the public URI https://localhost:7443/jazz/ of my debug server I got a message
This webpage is not available
See the screenshot below:
I created Defect 354890 to get it addressed.
Root Cause And Work Around
As described in the defect above, it appears that Jetty uses SSL as a default protocol to talk to the browser. Chrome version 4 has disabled SSL due to defects in the older SSL implementations. This can basically also happen in other browsers soon.
To fix this, Jetty would have to be set to TLS as default. Although this seems to be the documented default for newer versions, the SDK does not seem to have that setting. I searched around and was also not able to find a way to force it.
It would be good if there was a way to set e.g. a System Property in the server launch configuration.
This work around I found on the net worked for me for Chrome v40:
- Open the URL chrome://flags
- Look for “Minimum SSL/TLS version supported.“
- Change from Default and choose SSLv3
- Click on the “Relaunch now” button
Open your public URI https://localhost:7443/jazz/ again. You will be redirected to a page “Your connection is not private“. Click on the “Advanced” link. Finally click on “Proceed to (unsafe)“.
Chromium has the same problem. And the same fix.