12-09-2020
04:30 PM
- last edited on
12-29-2020
12:11 AM
by
fcaelen
I've just set up redirection from HTTP to HTTPS and HSTS but now receive the following error when launching smart client. Can anyone tell me what's up with my config please? I have included the error received and our web.config file content.
Error while loading descriptor from https://gmserver.domain.local/GMSC/default.aspx?requesttype=hnlp.
java.io.IOException: Received RST_STREAM: Use HTTP/1.1 for request
at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
at com.hexagon.applauncher.core/com.hexagon.applauncher.core.AppLauncher.loadDescriptor(Unknown Source)
at com.hexagon.applauncher.core/com.hexagon.applauncher.core.AppLauncher.init(Unknown Source)
at com.hexagon.applauncher.core/com.hexagon.applauncher.core.AppLauncher.lambda$start$0(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Received RST_STREAM: Use HTTP/1.1 for request
at java.net.http/jdk.internal.net.http.Stream.handleReset(Unknown Source)
at java.net.http/jdk.internal.net.http.Stream.incoming_reset(Unknown Source)
at java.net.http/jdk.internal.net.http.Stream.otherFrame(Unknown Source)
at java.net.http/jdk.internal.net.http.Stream.incoming(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection.processFrame(Unknown Source)
at java.net.http/jdk.internal.net.http.frame.FramesDecoder.decode(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection$FramesController.processReceivedData(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection.asyncReceive(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.processQueue(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.onNext(Unknown Source)
at java.net.http/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.onNext(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLTube$DelegateWrapper.onNext(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
web.config attached (we.config.zip)
Solved! Go to Solution.
12-10-2020 03:19 PM - edited 12-10-2020 03:23 PM
Hi Mishmosh,
Your GMSC web.config looks different than my stock GMSC v2020 web.config. Did you add extra contents beside modifying the two lines necessary for HTTPS (as per the guide here https://community.hexagongeospatial.com/t5/GMSC-eTraining/How-to-use-GeoMedia-Smart-Client-with-HTTP...) ? For instance, contents like rewrite, urlCompression...
Could you locate the original GMSC web.config ?
+++
Back to the error message, looks like there is security policy on the server that blocks this request (https://gmserver.domain.local/GMSC/default.aspx?requesttype=hnlp)
Or this request from Josh's thread -- https://gmsrv16.mornpen.vic.gov.au/GMSC/default.aspx?requesttype=hnlp
Have you tried using the IP address or computer name on the request : https://<IPAddress>/GMSC/default.aspx?requesttype=hnlp
You should try these links directly under a web browser.
Possible cause of the blocked request:
- Window Firewall
- Proxy settings
- web site is among the Restricted Sites in Internet Settings > Security
Hope this helps.
Regards,
Frank
12-13-2020 06:54 PM - edited 12-13-2020 07:00 PM
Hi again Frank, in regards to the urlCompression, I added that as per instructions in a comment by shruda
As for the rewrite rules I configured previously, I've now disabled them and tried manually accessing GMSC via HTTPS on another machine (to exclude any caching issues from the equation) but still receive the same java.io.IOException: Received RST_STREAM: Use HTTP/1.1 for request error. We have *.ourdomain in the trusted sites list and I also set the security on that to LOW to rule out any custom security settings. I've turned off windows firewall on the server for all profiles - domain, private and public just to test and satill no change. I'm out of ideas. Would very much appreciate any further assistance you can provide.
Cheers,
Michelle
12-14-2020 01:50 PM
Hi all. Do we need to add an exception site list in Java?
I tried http://www.gmsrv16.mornpen.vic.gov.au/gmsc and https://www.gmsrv16.mornpen.vic.gov.au/gmsc without luck.
Regards,
Josh
12-14-2020 01:59 PM
Hi Michelle,
Could you check the value of the Protocol column [of the browser's concole (F12) > Network tab] when you visit GMSC page (i.e. https://gmsrv16.mornpen.vic.gov.au/GMSC/default.aspx?requesttype=hnlp) ?
The error message seems to suggest using HTTP/1.1
My test GMSC server is on HTTP/1.1:
You may want to refer this for troubleshooting purposes:
https://stackoverflow.com/questions/44660634/how-to-disable-http-2-on-iis-of-windows-server-2016
Regards,
Frank
12-14-2020 02:44 PM
Hi Frank, as per your suggestion ours was using HTTP/2. The below reg entries appear to have disabled HTTP/2 on the server side so GMSC is now working.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
EnableHttp2Tls = DWORD:0
EnableHttp2Cleartext = DWORD:0
But, I thought you might be interested to know that another user fixed issues with HTTP2 compatibility by modifying their webpage code. Perhaps something for Hexagon's Dev Team to look at. See the final comment on the same thread you referred me to Windows 10 - How to disable HTTP/2 on IIS 10 - Stack Overflow
Thanks for your help with this. Much appreciated
Michelle
12-15-2020 03:06 PM
Hi Michelle,
Glad to see your issue is resolved.
I will bring your comment to DEV's attention!
Regards,
Frank
12-17-2020 01:46 PM
Hi Frank,
Do users require local admin rights when loading Smart Client with App Launcher?
It seemed to only work when I was given local admin rights, otherwise I don't get beyond the dialog box.
Regards,
Josh
12-17-2020 02:09 PM
Hi Joah,
Detailed discussion on the topic can be found here:
Regards,
Frank