JJoriping / KKuTu

글자로 놀자! 끄투 온라인
http://jjo.kr/kkutu
GNU General Public License v3.0
328 stars 266 forks source link

https 에서 방 생성불가능 #1078

Closed kimchamchi closed 1 year ago

kimchamchi commented 1 year ago

인증서 없을때 http 에서는 방생성이 되는데 https 에서 방생성을 하면 로딩도 안되고

Uncaught DOMException: Failed to construct 'WebSocket': The URL 'wss://kkutu.uk:NaN/cwVUNgdRPphEJZUTGyUdiT3XuhaOrATm&1&103' is invalid. at connectToRoom (https://kkutu.uk/js/in_game_kkutu.min.js:20:2752) at onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:20:5501) at WebSocket._onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:21:31357) connectToRoom @ in_game_kkutu.min.js:20 onMessage @ in_game_kkutu.min.js:20 _onMessage @ in_game_kkutu.min.js:21

라고 뜹니다

lshqqytiger commented 1 year ago

서버가 클라이언트에게 웹 소켓(rws) 포트를 알려주면 거기로 클라이언트가 연결 시도하게 되어있는데 서버가 보낸 값이 undefined 같은 잘못된 값이어서 클라이언트가 방에 접속하지 못하고 있습니다. 소스코드 수정하신 부분이 있을까요?

kimchamchi commented 1 year ago

settings.json , portal.pug , global.json 제외 수정한 부분 없습니다.

lshqqytiger commented 1 year ago

portal.pug와 global.json을 어떻게 수정하셨나요

lshqqytiger commented 1 year ago

kkutu.pug나 main.js, cluster.js 같은 파일은 수정하신 적이 없으신거면 body.js의 connectToRoom 함수를 보면

function connectToRoom(chan, rid){
    var url = $data.URL.replace(/:(\d+)/, function(v, p1){
        return ":" + (Number(p1) + 416 + Number(chan) - 1);
    }) + "&" + chan + "&" + rid;

에서 chan 값은 정상인 것으로 보여 p1이 원인같은데 $data.URL을 확인해봐야할 것 같습니다. 개발자도구에서 console.log($("#URL").html());로 확인할 수 있고 이 값은 main.js를 통해 kkutu.pug로 전달된 인자 몇 가지의 조합으로 구성됩니다.

kimchamchi commented 1 year ago

인증서 적용하면 이 문제가 생기는데

인증서는 문제 없는건가요..?

lshqqytiger commented 1 year ago

https 모듈이 인증서를 필수로 요구해서 인증서 없이는 https로 정상적으로 서버를 열 수 없습니다.

kimchamchi commented 1 year ago

room-conn 1 101 in_game_kkutu.min.js:20

인증서 적용을 해제하면 (http) 이 문제가 생기지 않는데

인증서 교체해 보겠습니다.

lshqqytiger commented 1 year ago

저는 아까 전에 같은 서버(https://kkutu.uk/?server=0 )에서 방 접속이 잘 됐었습니다.

kimchamchi commented 1 year ago

누가 방생성을 했길레 들어가봤는데 안들어가졌습니다 호스팅 문제일까요

lshqqytiger commented 1 year ago

호스팅 문제인지는 클라이언트쪽 로그를 봐야합니다.

Uncaught DOMException: Failed to construct 'WebSocket': The URL 'wss://kkutu.uk:NaN/cwVUNgdRPphEJZUTGyUdiT3XuhaOrATm&1&103' is invalid.

이런 오류가 나면 호스팅 문제라고 하기 힘들죠

kimchamchi commented 1 year ago

in_game_kkutu.min.js:20 Uncaught DOMException: Failed to construct 'WebSocket': The URL 'wss://kkutu.uk:NaN/y0WBWX4rx6KinbgS1BecY3gk6bJ6A2Vt&1&101' is invalid. at connectToRoom (https://kkutu.uk/js/in_game_kkutu.min.js:20:2752) at onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:20:5501) at WebSocket._onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:21:31357)

들어갈려하면 이렇게 뜹니다

로그'[2023-04-02 16:49:54] Chan @0 Msg #guesty0WBWX4rx6KinbgS1BecY3gk6bJ6A2Vt: {"type":"enter","id":"101"} [2023-04-02 16:49:54] Chan @0 Msg #guesty0WBWX4rx6KinbgS1BecY3gk6bJ6A2Vt: {"type":"enter","id":"101"} [2023-04-02 16:49:54] Chan @0 Msg #guesty0WBWX4rx6KinbgS1BecY3gk6bJ6A2Vt: {"type":"enter","id":"101"} [2023-04-02 16:49:55] Chan @0 Msg #guesty0WBWX4rx6KinbgS1BecY3gk6bJ6A2Vt: {"type":"enter","id":"101"}

kimchamchi commented 1 year ago

서버 호스트만 안들어가지네요 모바일로 접속됩니다. 개인 컴퓨터 문제로 끝낼까요?

lshqqytiger commented 1 year ago

다른 브라우저를 사용해보세요.

kimchamchi commented 1 year ago

다른 브라우저를 사용해도

in_game_kkutu.min.js:20

   Uncaught DOMException: Failed to construct 'WebSocket': The URL 'wss://kkutu.uk:NaN/C9SQbFJSQjfcoslcwS_jKXYpQ8i0JC_5&1&104' is invalid.
at connectToRoom (https://kkutu.uk/js/in_game_kkutu.min.js:20:2752)
at onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:20:5501)
at WebSocket._onMessage (https://kkutu.uk/js/in_game_kkutu.min.js:21:31357)

같은 오류가 발생합니다 (엣지 브라우저)

lshqqytiger commented 1 year ago

원인 파악을 더 해보려면 할 수는 있겠지만 다른 환경에서는 접속이 되는 것 같으니..

kimchamchi commented 1 year ago

image

이 이슈와 상관없는 부분이지만 사진처럼 위에 바는 어떻게 수정하는건가요?

jhj1228 commented 1 year ago

module.pug에서 수정하시면 됩니다.

kimchamchi commented 1 year ago

감사합니다 이슈 닫겠습니다