Create-react-app: Websocket with wrong protocol on HTTPS Development ENV

Created on 5 Dec 2019  路  4Comments  路  Source: facebook/create-react-app

Describe the bug

When forcing HTTPS=true on NPM start the error "WebSocket connection to 'ws://localhost:3000/sockjs-node' failed: Connection closed before receiving a handshake response"

I couldn't find a solution for this without ejecting the code.

Did you try recovering your dependencies?

It is a brand new npx create-react-app app. The problem is not present in other project running react-scripts 3.0.1

Which terms did you search for in User Guide?

Searched for websocket, force wss
On google I searched for create-react-app websocket, create-react-app force wss, create-react-app https

Environment

System:
OS: macOS 10.15
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Binaries:
Node: 10.16.3 - /usr/local/bin/node
Yarn: 1.5.1 - ~/.yarn/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Browsers:
Chrome: 78.0.3904.108
Firefox: 62.0
Safari: 13.0.2
npmPackages:
react: ^16.12.0 => 16.12.0
react-dom: ^16.12.0 => 16.12.0
react-scripts: 3.3.0 => 3.3.0
npmGlobalPackages:
create-react-app: Not Found

Steps to reproduce

  1. npx create-react-app app
  2. cd app
  3. npm i cross-env
  4. replace "start": " react-scripts start" to "start": "cross-env HTTPS=true react-scripts start"
  5. npm start
  6. Open https://localhost:3000
  7. script still tries to open websocket on WS protocol.

Expected behavior

Script opens websocket on WSS protocol

Actual behavior

Script still tries to open websocket on WS protocol.

image

Reproducible demo

bug report needs triage

Most helpful comment

Can you try https://github.com/facebook/create-react-app/pull/8079 ?

It should fix your issue.

All 4 comments

I think I've hit this or related to it too, my setup:

  • react-scripts 3.3.0
  • react-dev-utils 10.0.0
  • yarn start on localhost:3000 (that works)
  • actually loading the site over https://.ngrok.io (I need it for trusted redirect dance)

And I get SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

The same scenario works with following versions:

  • react-scripts 3.2.0
  • react-dev-utils 9.1.0

Can you try https://github.com/facebook/create-react-app/pull/8079 ?

It should fix your issue.

@mikecaulley Ran into same issue and like to confirm that patch in #8079 seems to work here 馃憤
(did patch it in manually)

鈹溾攢 [email protected]
鈹溾攢 [email protected]
鈹溾攢 [email protected]

(trimmed for brevity)

Yeap, worked fine, thanks !

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fson picture fson  路  3Comments

alleroux picture alleroux  路  3Comments

barcher picture barcher  路  3Comments

stopachka picture stopachka  路  3Comments

Aranir picture Aranir  路  3Comments