Can't connect to Flask-Socketio via wss but works via ws












1















I have built a Flask-Socketio server application which works as expected when I connect to it using a javascript client via ws, but fails to connect via wss, both on localhost and when running on my Digital Ocean server. With wss, I get this error in the console (client running on Heroku):



index.js:14 WebSocket connection to 'wss://[IP_ADDRESS]/socket.io/? 
EIO=3&transport=websocket' failed: Error in connection establishment:
net::ERR_CONNECTION_REFUSED


When the client is running on localhost, it causes this error:



polling-xhr.js:265 GET https://localhost:5000/socket.io/? 
EIO=3&transport=polling&t=MW6p0Aj net::ERR_SSL_PROTOCOL_ERROR


The flask server is running with



socketio.run(app, host='0.0.0.0', port=443) # production
or



socketio.run(app, host="localhost", port=5000) # localhost



At first I thought it could have been an issue with the Nginx configuration or server ports not being open, however the same issue occurs with the server running on Localhost, so now I'm suspecting an issue with my Flask-Socketio application










share|improve this question



























    1















    I have built a Flask-Socketio server application which works as expected when I connect to it using a javascript client via ws, but fails to connect via wss, both on localhost and when running on my Digital Ocean server. With wss, I get this error in the console (client running on Heroku):



    index.js:14 WebSocket connection to 'wss://[IP_ADDRESS]/socket.io/? 
    EIO=3&transport=websocket' failed: Error in connection establishment:
    net::ERR_CONNECTION_REFUSED


    When the client is running on localhost, it causes this error:



    polling-xhr.js:265 GET https://localhost:5000/socket.io/? 
    EIO=3&transport=polling&t=MW6p0Aj net::ERR_SSL_PROTOCOL_ERROR


    The flask server is running with



    socketio.run(app, host='0.0.0.0', port=443) # production
    or



    socketio.run(app, host="localhost", port=5000) # localhost



    At first I thought it could have been an issue with the Nginx configuration or server ports not being open, however the same issue occurs with the server running on Localhost, so now I'm suspecting an issue with my Flask-Socketio application










    share|improve this question

























      1












      1








      1








      I have built a Flask-Socketio server application which works as expected when I connect to it using a javascript client via ws, but fails to connect via wss, both on localhost and when running on my Digital Ocean server. With wss, I get this error in the console (client running on Heroku):



      index.js:14 WebSocket connection to 'wss://[IP_ADDRESS]/socket.io/? 
      EIO=3&transport=websocket' failed: Error in connection establishment:
      net::ERR_CONNECTION_REFUSED


      When the client is running on localhost, it causes this error:



      polling-xhr.js:265 GET https://localhost:5000/socket.io/? 
      EIO=3&transport=polling&t=MW6p0Aj net::ERR_SSL_PROTOCOL_ERROR


      The flask server is running with



      socketio.run(app, host='0.0.0.0', port=443) # production
      or



      socketio.run(app, host="localhost", port=5000) # localhost



      At first I thought it could have been an issue with the Nginx configuration or server ports not being open, however the same issue occurs with the server running on Localhost, so now I'm suspecting an issue with my Flask-Socketio application










      share|improve this question














      I have built a Flask-Socketio server application which works as expected when I connect to it using a javascript client via ws, but fails to connect via wss, both on localhost and when running on my Digital Ocean server. With wss, I get this error in the console (client running on Heroku):



      index.js:14 WebSocket connection to 'wss://[IP_ADDRESS]/socket.io/? 
      EIO=3&transport=websocket' failed: Error in connection establishment:
      net::ERR_CONNECTION_REFUSED


      When the client is running on localhost, it causes this error:



      polling-xhr.js:265 GET https://localhost:5000/socket.io/? 
      EIO=3&transport=polling&t=MW6p0Aj net::ERR_SSL_PROTOCOL_ERROR


      The flask server is running with



      socketio.run(app, host='0.0.0.0', port=443) # production
      or



      socketio.run(app, host="localhost", port=5000) # localhost



      At first I thought it could have been an issue with the Nginx configuration or server ports not being open, however the same issue occurs with the server running on Localhost, so now I'm suspecting an issue with my Flask-Socketio application







      flask socket.io flask-socketio






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 1 at 0:32









      Ray A.Ray A.

      938




      938
























          2 Answers
          2






          active

          oldest

          votes


















          2














          Turns out I didn't have SSL certificates configured. I followed the instructions in this guide to create a self-signed SSL certificate and configure Nginx to use it. Now works as expected.






          share|improve this answer































            0














            There are lot of issues with Flask-Socketio. With Apache server it almost doesn't works.But you are using Nginx. Refer following link on github.



            https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588






            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53992331%2fcant-connect-to-flask-socketio-via-wss-but-works-via-ws%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              Turns out I didn't have SSL certificates configured. I followed the instructions in this guide to create a self-signed SSL certificate and configure Nginx to use it. Now works as expected.






              share|improve this answer




























                2














                Turns out I didn't have SSL certificates configured. I followed the instructions in this guide to create a self-signed SSL certificate and configure Nginx to use it. Now works as expected.






                share|improve this answer


























                  2












                  2








                  2







                  Turns out I didn't have SSL certificates configured. I followed the instructions in this guide to create a self-signed SSL certificate and configure Nginx to use it. Now works as expected.






                  share|improve this answer













                  Turns out I didn't have SSL certificates configured. I followed the instructions in this guide to create a self-signed SSL certificate and configure Nginx to use it. Now works as expected.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 1 at 1:17









                  Ray A.Ray A.

                  938




                  938

























                      0














                      There are lot of issues with Flask-Socketio. With Apache server it almost doesn't works.But you are using Nginx. Refer following link on github.



                      https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588






                      share|improve this answer




























                        0














                        There are lot of issues with Flask-Socketio. With Apache server it almost doesn't works.But you are using Nginx. Refer following link on github.



                        https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588






                        share|improve this answer


























                          0












                          0








                          0







                          There are lot of issues with Flask-Socketio. With Apache server it almost doesn't works.But you are using Nginx. Refer following link on github.



                          https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588






                          share|improve this answer













                          There are lot of issues with Flask-Socketio. With Apache server it almost doesn't works.But you are using Nginx. Refer following link on github.



                          https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 1 at 1:08









                          ElectroseelaElectroseela

                          358




                          358






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53992331%2fcant-connect-to-flask-socketio-via-wss-but-works-via-ws%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Mossoró

                              Error while reading .h5 file using the rhdf5 package in R

                              Pushsharp Apns notification error: 'InvalidToken'