Skip to content

Websocket with wrong protocol on HTTPS Development ENV #8075

Closed
@wviveiro

Description

@wviveiro

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

Activity

dimaqq

dimaqq commented on Dec 5, 2019

@dimaqq

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
mikecaulley

mikecaulley commented on Dec 5, 2019

@mikecaulley
Contributor

Can you try #8079 ?

It should fix your issue.

driek-vhees

driek-vhees commented on Dec 5, 2019

@driek-vhees

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

├─ react-dev-utils@10.0.0
├─ react-scripts@3.3.0
├─ react@16.12.0

(trimmed for brevity)

wviveiro

wviveiro commented on Dec 5, 2019

@wviveiro
Author

Yeap, worked fine, thanks !

locked and limited conversation to collaborators on Dec 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @dimaqq@wviveiro@mikecaulley@driek-vhees

      Issue actions

        Websocket with wrong protocol on HTTPS Development ENV · Issue #8075 · facebook/create-react-app