Skip to content

[Bug]: TLS proxy and websocket not available on Windows #6569

Closed as not planned
@Juesto

Description

@Juesto

Is there an existing issue for this?

  • I have searched the existing issues

OS/Web Information

  • Web Browser: Chrome
  • Local OS: Windows
  • Remote OS: Windows
  • Remote Architecture: amd64
  • code-server --version: 4.19.1 0c98611 with Code 1.84.2

Steps to Reproduce

Followed windows and by extension npm instructions:

  1. npm install -g --unsafe-perm code-server in git bash (node progress indicator only works in cmd)
  2. code-server after setting cert: true in the config
  3. visit with browser

Expected

browser should present Code interface

Actual

blank page when visiting the browser

Logs

code-server --verbose output

[2023-12-06T01:14:12.195Z] debug parent:5556 spawned child process 12600
[2023-12-06T01:14:13.615Z] debug child:12600 initiating handshake
[2023-12-06T01:14:13.620Z] debug parent:5556 got message {"message":{"type":"handshake"}}
[2023-12-06T01:14:13.623Z] debug child:12600 got message {"message":{"type":"handshake","args":{"bind-addr":"0.0.0.0:3000","auth":"none","password":"<redacted>","cert":{"value":"C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\localhost.crt"},"config":"C:\\Users\\defaultuser0\\AppData\\Roaming\\code-server\\Config\\config.yaml","verbose":true,"user-data-dir":"C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data","extensions-dir":"C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\extensions","session-socket":"C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\code-server-ipc.sock","log":"trace","host":"0.0.0.0","port":3000,"cert-key":"C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\localhost.key","proxy-domain":[],"_":[],"usingEnvPassword":false,"usingEnvHashedPassword":false}}}
[2023-12-06T01:14:13.625Z] info  code-server 4.19.1 0c98611e6b43803a9d5dba222d7023b569abfb49
[2023-12-06T01:14:13.625Z] info  Using user-data-dir C:\Users\defaultuser0\AppData\Local\code-server\Data
Trace: [2023-12-06T01:14:13.626Z] trace Using extensions-dir C:\Users\defaultuser0\AppData\Local\code-server\Data\extensions
    at doLog (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:57:28)
    at ServerFormatter.doWrite (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:200:20)
    at ServerFormatter.write (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:119:14)
    at Logger.handle (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:339:25)
    at Logger.trace (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:268:14)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\main.js:95:21
    at Generator.next (<anonymous>)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\main.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\main.js:4:12)
[2023-12-06T01:14:13.722Z] warn  Could not create socket at C:\Users\defaultuser0\AppData\Local\code-server\Data\code-server-ipc.sock
[2023-12-06T01:14:13.733Z] info  Using config file C:\Users\defaultuser0\AppData\Roaming\code-server\Config\config.yaml
[2023-12-06T01:14:13.733Z] info  HTTPS server listening on https://0.0.0.0:3000/
[2023-12-06T01:14:13.733Z] info    - Authentication is disabled
[2023-12-06T01:14:13.733Z] info    - Using certificate for HTTPS: C:\Users\defaultuser0\AppData\Local\code-server\Data\localhost.crt
[2023-12-06T01:14:13.734Z] info  Session server listening on C:\Users\defaultuser0\AppData\Local\code-server\Data\code-server-ipc.sock
Trace: [2023-12-06T01:14:15.900Z] trace heartbeat
    at doLog (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:57:28)
    at ServerFormatter.doWrite (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:200:20)
    at ServerFormatter.write (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:119:14)
    at Logger.handle (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:339:25)
    at Logger.trace (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:268:14)
    at Heart.<anonymous> (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:41:29)
    at Generator.next (<anonymous>)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:4:12)
[22:14:16] Remote configuration data at C:\Users\defaultuser0\AppData\Local\code-server\Data
[22:14:16] process arguments: {
  'bind-addr': '0.0.0.0:3000',
  auth: 'none',
  password: '5ce178871d0372613245aeb9',
  cert: {
    value: 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\localhost.crt'
  },
  config: 'C:\\Users\\defaultuser0\\AppData\\Roaming\\code-server\\Config\\config.yaml',
  verbose: true,
  'user-data-dir': 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data',
  'extensions-dir': 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\extensions',
  'session-socket': 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\code-server-ipc.sock',
  log: [ 'trace' ],
  host: '0.0.0.0',
  port: '3000',
  'cert-key': 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\localhost.key',
  'proxy-domain': [],
  _: [],
  usingEnvPassword: false,
  usingEnvHashedPassword: false,
  'accept-server-license-terms': true,
  compatibility: '1.64',
  help: false,
  version: false,
  'without-connection-token': true,
  'builtin-extensions-dir': 'c:\\Users\\defaultuser0\\AppData\\Roaming\\npm\\node_modules\\code-server\\lib\\vscode\\extensions',
  logsPath: 'C:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\logs\\20231205T221416'
}
[22:14:16]




[22:14:16] [File Watcher (node.js)] Request to start watching: c:\Users\defaultuser0\AppData\Local\code-server\Data\Machine (excludes: <none>, includes: <all>, correlationId: <none>),c:\Users\defaultuser0\AppData\Local\code-server\Data\Machine\settings.json (excludes: <none>, includes: <all>, correlationId: <none>)
[22:14:16] ExtensionManagementService#cleanUp
[22:14:16] ExtensionManagementService#removeTempDeleteFolders
[22:14:16] Extension host agent started.
[22:14:16] Extension VSIX downloads cache dir does not exist
[22:14:16] [File Watcher (node.js)] Request to start watching: c:\Users\defaultuser0\AppData\Local\code-server\Data\extensions (excludes: <none>, includes: <all>, correlationId: <none>)
[2023-12-06T01:14:16.438Z] error child:12600 Uncaught exception: listen EACCES: permission denied C:\Users\DEFAUL~2\AppData\Local\Temp\code-server\tls-proxy
[2023-12-06T01:14:16.438Z] error child:12600 Error: listen EACCES: permission denied C:\Users\DEFAUL~2\AppData\Local\Temp\code-server\tls-proxy
    at Server.setupListenHandle [as _listen2] (node:net:1734:21)
    at listenInCluster (node:net:1799:12)
    at Server.listen (node:net:1898:5)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\socket.js:114:37
    at new Promise (<anonymous>)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\socket.js:111:28
[22:14:16] Error: listen EACCES: permission denied C:\Users\DEFAUL~2\AppData\Local\Temp\code-server\tls-proxy
    at Server.setupListenHandle [as _listen2] (node:net:1734:21)
    at listenInCluster (node:net:1799:12)
    at Server.listen (node:net:1898:5)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\socket.js:114:37
    at new Promise (<anonymous>)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\socket.js:111:28 {
  code: 'EACCES',
  errno: -4092,
  syscall: 'listen',
  address: 'C:\\Users\\DEFAUL~2\\AppData\\Local\\Temp\\code-server\\tls-proxy',
  port: -1
}
[22:14:16] No uninstalled extensions found.
[22:14:16] [File Watcher (node.js)] Request to start watching: c:\Users\defaultuser0\AppData\Local\code-server\Data\extensions\extensions.json (excludes: <none>, includes: <all>, correlationId: <none>)
[22:14:16] Started scanning user extensions d {
  scheme: 'file',
  authority: '',
  path: '/C:/Users/defaultuser0/AppData/Local/code-server/Data/extensions',
  query: '',
  fragment: '',
  _formatted: null,
  _fsPath: 'c:\\Users\\defaultuser0\\AppData\\Local\\code-server\\Data\\extensions'
}
[22:14:16] [File Watcher (node.js)] Error: ENOENT: no such file or directory, stat 'c:\Users\defaultuser0\AppData\Local\code-server\Data\Machine\settings.json'
[22:14:16] [File Watcher (node.js)] Started watching: 'c:\Users\defaultuser0\AppData\Local\code-server\Data\Machine'
[22:14:16] Scanned user extensions: 0
[22:14:16] [File Watcher (node.js)] Started watching: 'c:\Users\defaultuser0\AppData\Local\code-server\Data\extensions'
[22:14:16] [File Watcher (node.js)] Started watching: 'c:\Users\defaultuser0\AppData\Local\code-server\Data\extensions\extensions.json'
[2023-12-06T01:15:15.907Z] debug 1 active connection
Trace: [2023-12-06T01:15:15.907Z] trace heartbeat
    at doLog (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:57:28)
    at ServerFormatter.doWrite (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:200:20)
    at ServerFormatter.write (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:119:14)
    at Logger.handle (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:339:25)
    at Logger.trace (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\node_modules\@coder\logger\out\logger.js:268:14)
    at Heart.<anonymous> (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:41:29)
    at Generator.next (<anonymous>)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:4:12)
    at Heart.beat (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:37:16)
    at C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:76:17
    at Generator.next (<anonymous>)
    at fulfilled (C:\Users\defaultuser0\AppData\Roaming\npm\node_modules\code-server\out\node\heart.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

browser console:

workbench.web.main.js:645  INFO Resolving connection token (brixs7110:3000)...
workbench.web.main.js:645  INFO Resolved connection token (brixs7110:3000) after 5 ms
workbench.web.main.js:645  INFO Creating a socket (renderer-Management-e0e954ba-07b4-48b4-8924-2c7215e23623)...
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/loader.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/webPackagePaths.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/workbench/workbench.web.main.nls.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/workbench/workbench.web.main.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/code/browser/workbench/workbench.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/loader.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/webPackagePaths.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/workbench/workbench.web.main.nls.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/workbench/workbench.web.main.js.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for https://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49/static/out/vs/code/browser/workbench/workbench.js.map: Load canceled due to load timeout
workbench.web.main.js:675 WebSocket connection to 'wss://brixs7110:3000/stable-0c98611e6b43803a9d5dba222d7023b569abfb49?reconnectionToken=e0e954ba-07b4-48b4-8924-2c7215e23623&reconnection=false&skipWebSocketFrames=false' failed: 
v @ workbench.web.main.js:675
create @ workbench.web.main.js:675
(anonymous) @ workbench.web.main.js:675
connect @ workbench.web.main.js:675
connect @ workbench.web.main.js:675
n @ workbench.web.main.js:675
u @ workbench.web.main.js:675
b @ workbench.web.main.js:675
p @ workbench.web.main.js:675
(anonymous) @ workbench.web.main.js:675
O @ workbench.web.main.js:675
workbench.web.main.js:645  INFO Creating a socket (renderer-Management-e0e954ba-07b4-48b4-8924-2c7215e23623) returned an error after 106810 ms.
workbench.web.main.js:645   ERR CodeExpectedError: WebSocket close with status code 1006
    at WebSocket.<anonymous> (workbench.web.main.js:675:3985)
workbench.web.main.js:645   ERR [remote-connection][Management   ][e0e95…][initial][WebSocket(brixs7110:3000)] socketFactory.connect() failed or timed out. Error:
workbench.web.main.js:645   ERR CodeExpectedError: WebSocket close with status code 1006
    at WebSocket.<anonymous> (workbench.web.main.js:675:3985)
workbench.web.main.js:645   ERR [remote-connection][attempt 1] An error occurred in initial connection! Will retry... Error:
workbench.web.main.js:645   ERR CodeExpectedError: WebSocket close with status code 1006
    at WebSocket.<anonymous> (workbench.web.main.js:675:3985)

Screenshot/Video

No response

Does this issue happen in VS Code or GitHub Codespaces?

  • I cannot reproduce this in VS Code.
  • I cannot reproduce this in GitHub Codespaces.

Are you accessing code-server over a secure context?

  • I am using a secure context.

Notes

tried running as administrator without success
firewall is allowed for node.js

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingos-windowsWindows relatedtriageThis issue needs to be triaged by a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions