Dienstag, 30. Juli 2019

Microsoft RDS RDWEB 2019 html5 Webclient mit Netscaler veröffentlichen


Problem: Neuer RDWeb Client (Microsoft Windows Server 2019) funktioniert mit Veröffentlichung über Citrix Netscaler nicht. https://[name]/RDWeb/Webclient ist erreichbar, funktioniert intern und über NAT aber nicht über den Reverse Proxy (Stellt keinen Inhalt im Browser dar).  
Logs siehe unten.

Andere Leute haben ein ähnliches Problem: https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fsocial.technet.microsoft.com%2FForums%2Fwindowsserver%2Fru-RU%2F96e72f2e-f26f-4057-9835-b414403fe468%2Frds-webclient%3Fforum%3Druwinserver2016
 
Lösung "Websockets" in System > Profiles > HTTP aktivieren (für die Policys, die vom Content Switching Virtual Server verwendet werden). Und schon funktioniert die Remotedesktopverbindung im Browser!

2019-07-11T09:21:12.837Z Exception: Possibly unhandled rejection: backdrop click Cause: undefined
Logger/a.error@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:1:2683,a/</<@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:4:23141,j@https://[external address]/RDWeb/WebClient/js/components.baac831f.js:5:27051,$digest@https://[external address]/RDWeb/WebClient/js/components.baac831f.js:6:835,$evalAsync/<@https://[external address]/RDWeb/WebClient/js/components.baac831f.js:6:2461,e@https://[external address]/RDWeb/WebClient/js/components.baac831f.js:4:12767,ob/k.defer/c<@https://[external address]/RDWeb/WebClient/js/components.baac831f.js:4:14229,
2019-07-11T09:21:14.673Z RdpFileParser(NORM): Setting "redirectclipboard" = "1"
2019-07-11T09:21:14.674Z RdpFileParser(NORM): Setting "redirectprinters" = "1"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "redirectcomports" = "1"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "redirectsmartcards" = "1"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "devicestoredirect" = "*"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "drivestoredirect" = "*"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "redirectdrives" = "1"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "session bpp" = "32"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "prompt for credentials on client" = "1"
2019-07-11T09:21:14.677Z RdpFileParser(NORM): Setting "server port" = "3389"
2019-07-11T09:21:14.678Z RdpFileParser(NORM): Setting "allow font smoothing" = "1"
2019-07-11T09:21:14.678Z RdpFileParser(NORM): Setting "promptcredentialonce" = "1"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "gatewayusagemethod" = "2"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "gatewayprofileusagemethod" = "1"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "gatewaycredentialssource" = "4"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "full address" = "[internal address]"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "gatewayhostname" = "[external address]"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "workspace id" = "[internal address]"
2019-07-11T09:21:14.679Z RdpFileParser(NORM): Setting "use redirection server name" = "1"
2019-07-11T09:21:14.680Z RdpFileParser(NORM): Setting "loadbalanceinfo" = "tsv://MS Terminal Services Plugin.1.QuickSessionCollection"
2019-07-11T09:21:14.680Z RdpFileParser(NORM): Setting "use multimon" = "1"
2019-07-11T09:21:14.680Z RdpFileParser(NORM): Setting "alternate full address" = "[internal address]"
2019-07-11T09:21:14.680Z RdpFileParser(NORM): Setting "signscope" = "Full Address,Alternate Full Address,Use Redirection Server Name,Server Port,GatewayHostname,GatewayUsageMethod,GatewayProfileUsageMethod,GatewayCredentialsSource,PromptCredentialOnce,RedirectDrives,RedirectPrinters,RedirectCOMPorts,RedirectSmartCards,RedirectClipboard,DevicesToRedirect,DrivesToRedirect,LoadBalanceInfo"
2019-07-11T09:21:14.680Z RdpFileParser(NORM): Setting "signature" = "AQABAAEAAAAMDwAAMIIPCAYJKoZIhvcNAQcCoIIO+TCCDvUCAQExDzANBglghkgB  ZQMEAgEFADALBgkqhkiG9w0BBwGggg1BMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJ  MDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25h  dHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTAwMDkz  MDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWdu  YXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJ  KoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb  7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1  lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9UL2AZd+3UWODyOKIYepLYYHs  Umu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/  5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d  utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNC  MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSn  saR7LHH62+FLkHX/xBVghYkQMA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7u  KGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikugdB/OEIKcdBodfpga3csTS7MgROSR  6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGx  rancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtT  cm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsW  vIjJEubSfZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK  7p2CNTUQMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0B  AQsFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAV  BgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2  NDA0NlowSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAh  BgNVBAMTGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0B  AQEFAAOCAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCS  L7e4S0EFq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP  /uaZ6WA8SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8j  KkKQDIZ0Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6Bl  spkENnWAa6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkx  Ez0tNvjj/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkw  EgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEE  czBxMDIGCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRy  dXN0LmNvbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9y  b290cy9kc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/E  FWCFiRAwVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggr  BgEFBQcCARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNV  HR8ENTAzMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENB  WDNDUkwuY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG  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  HH2CBjay8ZGSZKw41lDQLOnlZeUixble  "
2019-07-11T09:21:14.683Z [SessionFactory] Redirections request
2019-07-11T09:21:17.325Z [ConnectionFactory] Creating connection to:
2019-07-11T09:21:17.325Z [object Object]
2019-07-11T09:21:17.329Z RdClientConnectionProxy::Create(NORM): loading webworkers from path: https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js
2019-07-11T09:21:17.333Z WebWorker(NORM): Created Webworker with path: https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js onMessage: HandleConnectionMessage
2019-07-11T09:21:17.346Z [SessionProvider] Connection created event received.
2019-07-11T09:21:17.346Z [SessionProvider] Session created received in provider
2019-07-11T09:21:17.347Z [SessionViewModel] Session created event received for: acb32204-0a33-458a-bd3c-4b70a64d7804
2019-07-11T09:21:17.347Z [Connection] Connection.connect called
2019-07-11T09:21:17.347Z [SessionViewModel] Received monitorBound event on UI layer
2019-07-11T09:21:17.354Z [Session] Session focus changed to true id:acb32204-0a33-458a-bd3c-4b70a64d7804 window id:null
2019-07-11T09:21:17.354Z [SessionViewModel] Session focused event received in view model session id: acb32204-0a33-458a-bd3c-4b70a64d7804
2019-07-11T09:21:20.006Z Connection(NORM): Connection created with correlation ID={151892f0-f8fa-49f6-b530-1a9b94960000}
2019-07-11T09:21:20.008Z DVCManager(NORM): Registered plugin DisplayControlGraphicsPlugin
2019-07-11T09:21:20.008Z DVCManager(NORM): Registered plugin InputPlugin
2019-07-11T09:21:20.009Z DVCManager(NORM): Registered plugin GfxChannelGraphicsPlugin
2019-07-11T09:21:20.027Z Core telemetry event: eventName=OnDetectAudioSupport, traceMessage=This system does support audio
2019-07-11T09:21:20.026Z DVCManager(NORM): Creating plugin DisplayControlGraphicsPlugin
2019-07-11T09:21:20.026Z DVCManager(NORM): Registering a listener for DVC Microsoft::Windows::RDS::DisplayControl
2019-07-11T09:21:20.027Z DVCManager(NORM): Creating plugin GfxChannelGraphicsPlugin
2019-07-11T09:21:20.028Z DVCManager(NORM): Registering a listener for DVC Microsoft::Windows::RDS::Graphics
2019-07-11T09:21:20.031Z Core telemetry event: eventName=GfxChannelGraphicsPluginStateTransition, traceMessage=State transition from "Closed(0)" to "Listening(1)"
2019-07-11T09:21:20.029Z DVCManager(NORM): Creating plugin InputPlugin
2019-07-11T09:21:20.031Z DVCManager(NORM): Registering a listener for DVC Microsoft::Windows::RDS::Input
2019-07-11T09:21:20.033Z GatewayTransport(NORM): Using the Gateway protocol variation for RD Gateway (on-prem)...
2019-07-11T09:21:20.033Z BaseTransportConnectState(NORM): Entering Gateway connection state BaseTransportConnectState
2019-07-11T09:21:20.035Z WebSocketTransport(NORM): Connection process begun for url=wss://[external address]:443/remoteDesktopGateway?CorId=%7B151892f0-f8fa-49f6-b530-1a9b94960000%7D&ConId=%7Bb3008232-4507-4a3d-91ed-fdc47fe57b9b%7D&ClGen=HTML%3D1&ClBld=Type%3DRdClient%3B%20Build%3Dprivate&AuthS=SSPI_NTLM
2019-07-11T09:21:20.036Z GatewayTransport(NORM): GatewayTransport connecting...
2019-07-11T09:21:20.038Z [Connection] Connection state changed to: Opening remote port
2019-07-11T09:21:20.437Z WebSocketTransport(ERR): WebSocket error received for url=wss://[external address]:443/remoteDesktopGateway?CorId=%7B151892f0-f8fa-49f6-b530-1a9b94960000%7D&ConId=%7Bb3008232-4507-4a3d-91ed-fdc47fe57b9b%7D&ClGen=HTML%3D1&ClBld=Type%3DRdClient%3B%20Build%3Dprivate&AuthS=SSPI_NTLM
    websockettransport.cpp(304): OnErrorFromJS()
Logger/a.errorWithoutTimestamp@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:1:2471,b/<@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:4:24270,methodCaller_emscripten$$val_$emscripten$$val_emscripten$$val$@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:6:26,__emval_call_method@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1511223,CZa@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Ugd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_viiiii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1563077,BZa@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Sgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_viii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562669,r_a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,zdb@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:97:1,Qgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_vii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562281,m$a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Qgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_vii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562281,n$a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Sgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,dynCall_viii_468@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:4:12,OnMessageCallback$Invoke@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:9:1,ASM_CONSTS</attachingObject.CreateMessageInvoker/<@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:106254,
2019-07-11T09:21:20.438Z WebSocketTransport(NORM): WebSocket closed, url=wss://[external address]:443/remoteDesktopGateway?CorId=%7B151892f0-f8fa-49f6-b530-1a9b94960000%7D&ConId=%7Bb3008232-4507-4a3d-91ed-fdc47fe57b9b%7D&ClGen=HTML%3D1&ClBld=Type%3DRdClient%3B%20Build%3Dprivate&AuthS=SSPI_NTLM, wasClean=false, code=1006, reason=""
2019-07-11T09:21:20.443Z Connection(ERR): The connection generated an internal exception with disconnect code=ConnectionBroken(8), extended code=<null>, reason=WebSocket closed with code: 1006 reason:
 Thrown in thread 396952 at:
    websockettransport.cpp(330)
Call Stack:
        at Rjb
        at Ojb
        at rp
        at Ugd
        at invoke_viiiii
        at unsigned __int128
        at Qgd
        at invoke_vii
        at unsigned __int128
        at Sgd
        at dynCall_viii_175
        at WebSocketTransport$OnCloseFromJS
        at ASM_CONSTS</WebSocketJSBridge/jsWebSocket.onclose

    connection.cpp(1318): OnException()
Logger/a.errorWithoutTimestamp@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:1:2471,b/<@https://[external address]/RDWeb/WebClient/js/client.8c705614.js:4:24270,methodCaller_emscripten$$val_$emscripten$$val_emscripten$$val$@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:6:26,__emval_call_method@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1511223,CZa@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Ugd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_viiiii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1563077,BZa@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Sgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_viii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562669,r_a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,zdb@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:97:1,Qgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_vii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562281,m$a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Qgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,invoke_vii@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:1562281,n$a@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:94:1,Sgd@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:99:1,dynCall_viii_468@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:4:12,OnMessageCallback$Invoke@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js line 86 > Function:9:1,ASM_CONSTS</attachingObject.CreateMessageInvoker/<@https://[external address]/RDWeb/WebClient/js/rdcore.52db1618.js:86:106254,
2019-07-11T09:21:20.445Z Core telemetry event: eventName=ConnectionException, traceMessage=An exception has occurred. Details: disconnect code=ConnectionBroken(8), extended code=<null>, reason=WebSocket closed with code: 1006 reason:
 Thrown in thread 396952 at:
    websockettransport.cpp(330)
Call Stack:
        at Rjb
        at Ojb
        at rp
        at Ugd
        at invoke_viiiii
        at unsigned __int128
        at Qgd
        at invoke_vii
        at unsigned __int128
        at Sgd
        at dynCall_viii_175
        at WebSocketTransport$OnCloseFromJS
        at ASM_CONSTS</WebSocketJSBridge/jsWebSocket.onclose

2019-07-11T09:21:20.445Z [Connection] Disconnecting
2019-07-11T09:21:20.444Z WebSocketTransport(NORM): Connection close initiated for url=wss://[external address]:443/remoteDesktopGateway?CorId=%7B151892f0-f8fa-49f6-b530-1a9b94960000%7D&ConId=%7Bb3008232-4507-4a3d-91ed-fdc47fe57b9b%7D&ClGen=HTML%3D1&ClBld=Type%3DRdClient%3B%20Build%3Dprivate&AuthS=SSPI_NTLM, code=1000, reason="NormalClosure(1000)"
2019-07-11T09:21:20.445Z GatewayTransport(NORM): GatewayTransport closed.
2019-07-11T09:21:20.448Z [Connection] Disconnected
2019-07-11T09:21:20.448Z [SessionViewModel] Received retireCanvas event on UI layer, connectionID=151892f0-f8fa-49f6-b530-1a9b94960000
2019-07-11T09:21:20.448Z [SessionProvider] Session disconnect received in provider
2019-07-11T09:21:20.448Z [SessionViewModel] Received didDisconnect event on UI layer
2019-07-11T09:21:20.448Z [Connection] Cleaning up connection
2019-07-11T09:21:20.448Z [SessionProvider] Connection destroyed event received.
2019-07-11T09:21:20.448Z [SessionProvider] Session disconnect received in provider
2019-07-11T09:21:20.449Z [SessionViewModel] Received didDisconnect event on UI layer
2019-07-11T09:21:20.449Z WebWorker(NORM): Destroying Webworker
2019-07-11T09:21:20.478Z [SessionViewModel] Canvas lost focus
2019-07-11T09:21:23.225Z [SessionViewModel] Session destroy event received for: acb32204-0a33-458a-bd3c-4b70a64d7804
2019-07-11T09:21:23.226Z [Session] Session focus changed to false id:acb32204-0a33-458a-bd3c-4b70a64d7804 window id:null
2019-07-11T09:21:23.226Z [Connection] Graphics sink not set yet, cannot set focus to: false