Vietnam

    Nodejs.vn

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Groups
    • Search

    Không tồn tại /socket.io/socket.io.js

    Hỏi Đáp
    1
    25
    2336
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Vinsmoke Sanji
      Vinsmoke Sanji last edited by

      Mình đã code thế này
      app.use(express.static("./public"));
      app.set("view engine","ejs");
      app.set("views","./views");
      var server = require('http').Server(app);
      var io = require("socket.io")(server);
      server.listen(process.env.PORT ||3000);
      Nhưng khi mình chạy https thì truy cập https://domain/socket.io/socket.io.js thì báo không tồn tại
      Lỗi như vậy thì khắc phục thế nào? Mọi người giúp mình với. Cảm ơn nhiều

      Nguyen Hien 1 Reply Last reply Reply Quote 0
      • Nguyen Hien
        Nguyen Hien @Vinsmoke Sanji last edited by

        @Vinsmoke-Sanji http://domain:3000/socket.io thử xem bạn

        1 Reply Last reply Reply Quote 0
        • Vinsmoke Sanji
          Vinsmoke Sanji last edited by

          không được bác ạ! Vì trong nginx em đã cấu hình như bên dưới rồi! Nên không phải điền port 3000 vào nữa. Nhưng không hiểu sao cái socket.io vẫn not found
          location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
          }

          Nguyen Hien 2 Replies Last reply Reply Quote 0
          • Nguyen Hien
            Nguyen Hien @Vinsmoke Sanji last edited by

            @Vinsmoke-Sanji Bạn thử tách /socket.io/ ra riêng xem:

            location /socket.io/ {
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Host $host;
                    proxy_pass http://localhost:3000$uri$is_args$args;
                }
            
            1 Reply Last reply Reply Quote 0
            • Nguyen Hien
              Nguyen Hien @Vinsmoke Sanji last edited by

              @Vinsmoke-Sanji Trên server chắc bạn đã install socket.io rồi đúng k. Bạn thử xem trong node_modules xem có socket.io-client/dist/socket.io.js ko.

              Vinsmoke Sanji 2 Replies Last reply Reply Quote 0
              • Vinsmoke Sanji
                Vinsmoke Sanji @Nguyen Hien last edited by

                @Nguyen-Hien Đã cài socket.io rồi bác. Khi chạy tên miền khác không https hoạt động bình thường. Nhưng với tên miền chạy https thì không tồn tại bác ạ

                1 Reply Last reply Reply Quote 0
                • Vinsmoke Sanji
                  Vinsmoke Sanji @Nguyen Hien last edited by

                  @Nguyen-Hien demo http://statusviet.com chạy cổng 3000 và https://chat.statusviet.com chạy cổng 3001
                  statusviet.com thì chạy bình thường, còn cái kia thì không được.

                  Nguyen Hien 1 Reply Last reply Reply Quote 0
                  • Nguyen Hien
                    Nguyen Hien @Vinsmoke Sanji last edited by

                    @Vinsmoke-Sanji
                    https://chat.statusviet.com cái này dung subdomain rồi. Bạn có config server subdomain trên nginx để trỏ về socket.io chưa. Dạng vầy:

                    server {
                        listen  3001;
                        server_name chat.statusviet.com;
                    
                        location /socket.io/ {
                            ....
                        }
                    }
                    
                    
                    Vinsmoke Sanji 1 Reply Last reply Reply Quote 0
                    • Vinsmoke Sanji
                      Vinsmoke Sanji @Nguyen Hien last edited by

                      @Nguyen-Hien 0_1526905480138_chat.statusviet.com.conf
                      Đó là toàn bộ nội dung cấu hình nginx cho subdomain đó bác ạ

                      1 Reply Last reply Reply Quote 0
                      • Vinsmoke Sanji
                        Vinsmoke Sanji last edited by

                        Em loay hoay tìm kiếm google mấy hôm rồi nhưng vẫn chưa biết làm thế nào!

                        Nguyen Hien 2 Replies Last reply Reply Quote 0
                        • Nguyen Hien
                          Nguyen Hien @Vinsmoke Sanji last edited by Nguyen Hien

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • Nguyen Hien
                            Nguyen Hien @Vinsmoke Sanji last edited by Nguyen Hien

                            @Vinsmoke-Sanji Code dưới client bạn quên đổi connect to host nào rồi kìa. Trỏ về https://chat.statusviet.com đi.
                            0_1526909098180_Screenshot from 2018-05-21 20-24-08.png

                            Vinsmoke Sanji 1 Reply Last reply Reply Quote 0
                            • Vinsmoke Sanji
                              Vinsmoke Sanji @Nguyen Hien last edited by

                              @Nguyen-Hien là em thử các kiểu đó bác ạ! trước khi em để là locahost thì em đã để https://chat.statusviet.com rồi. Giờ là em đang thử đủ kiểu đó. nhưng vẫn chưa có cách nào được.

                              Nguyen Hien 1 Reply Last reply Reply Quote 0
                              • Dong Van
                                Dong Van last edited by

                                thay vi de local host ban de 192.168.xxx.xxx thu

                                1 Reply Last reply Reply Quote 0
                                • Nguyen Hien
                                  Nguyen Hien @Vinsmoke Sanji last edited by

                                  @Vinsmoke-Sanji
                                  https://chat.statusviet.com/socket.io/ Can not get
                                  https://chat.statusviet.com/socket.io/socket.io.js 404 của nginx
                                  wss://chat.statusviet.com/socket.io/?EIO=3&transport=websocket -> 502

                                  1. Socket.io thực sự không tồn tại -> Cái này tỉ lệ cao nè. Bạn test local trên VPS có thấy chạy k ?
                                  2. Bind của nginx có vấn đề. Không config đúng nên k bind đc.
                                  Vinsmoke Sanji 1 Reply Last reply Reply Quote 0
                                  • Đô Nguyễn198
                                    Đô Nguyễn198 last edited by

                                    Do bạn rewrite url trên nginx về https. Edit this.
                                    Cách thứ 2 đơn giản hơn, bạn set static:
                                    app.use('/socket', express.static(__dirname + '/node_modules/socket.io-client'));
                                    Trên client khai báo:
                                    <script src="/socket/dist/socket.io.js"></script>
                                    Là xong.

                                    Vinsmoke Sanji 1 Reply Last reply Reply Quote 0
                                    • Vinsmoke Sanji
                                      Vinsmoke Sanji @Nguyen Hien last edited by

                                      @Nguyen-Hien http://159.65.11.110:3001/socket.io/socket.io.js
                                      Khi chạy hẳn ip và không ssl thì có socket mà bác! Chắc là em vẫn sai gì đó trong nginx

                                      Nguyen Hien 1 Reply Last reply Reply Quote 0
                                      • Vinsmoke Sanji
                                        Vinsmoke Sanji @Đô Nguyễn198 last edited by

                                        @Đô-Nguyễn198 để em thử cách này xem có được không!
                                        Hy vọng là được.

                                        1 Reply Last reply Reply Quote 0
                                        • Nguyen Hien
                                          Nguyen Hien @Vinsmoke Sanji last edited by

                                          @Vinsmoke-Sanji Nếu vậy thì việc bind nginx có gì đó sai rồi.

                                          Vinsmoke Sanji 1 Reply Last reply Reply Quote 0
                                          • Vinsmoke Sanji
                                            Vinsmoke Sanji @Nguyen Hien last edited by

                                            @Nguyen-Hien chắc em phải tạm dừng vụ ssl cho socket để code nốt web đã, xong rồi tiếp tục tìm hiểu. Giờ cố tìm nhưng vẫn chưa được.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            $(document).ready(function () { app.coldLoad(); }); }