Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL KKuTu 게임 #941

Closed
helikespuppy opened this issue Sep 1, 2021 · 26 comments
Closed

SSL KKuTu 게임 #941

helikespuppy opened this issue Sep 1, 2021 · 26 comments

Comments

@helikespuppy
Copy link

Cloudflare SSL을 적용했습니다.
IP와 프록싱되게 하고, SSL 파일을 통째로 끄투서버에 적용시켜 주었는데요.
웹 파일에서 wss로 바꿔주고,
포트 443과 기본포트 80, 웹소켓 포트 8443을 포워딩 시켜주었는데

인 게임까지는 들어가지나 방 만들기가 안됩니다.
같은 내용의 Issue를 본 것 같은데 못찾겠네요 ㅠㅠ

또한 웹소켓 포트를 8443으로 두었을 때 게임은 8859 포트로 열려고 해서 웹소켓이랑 통신이 안되서 방 만들기에 실패하는 것 같네요. 어떻게 해야 하나요 ㅠㅠ
image
image

@lshqqytiger
Copy link
Contributor

lshqqytiger commented Sep 1, 2021

적용 시 주의 사항 및 피드백 요청 사항

(#871 中)

global.json의 WAF 아래 WEB 값과 GAME 값을 true로 해주시고 PORT_GAP 값을 적당히 조절해주세요.
ws 포트와 rws 포트로 각각 8443과 8880을 사용하고 싶다면 PORT_GAP을 두 포트의 차인 437로 하시면 됩니다.

@helikespuppy
Copy link
Author

적용 시 주의 사항 및 피드백 요청 사항

(#871 中)

global.json의 WAF 아래 WEB 값과 GAME 값을 true로 해주시고 PORT_GAP 값을 적당히 조절해주세요.
ws 포트와 rws 포트로 각각 8443과 8880을 사용하고 싶다면 PORT_GAP을 두 포트의 차인 437로 하시면 됩니다.

8443은 웹소켓, 8880은 게임서버 포트로 하려고 하는데요.
웹소켓은 global.json 내 메인포트를 변경하면 되는걸로 아는데 게임서버 포트는 어디서 바꾸나요?
그리고 WAF 란이 없는데 코드를 추가하면 되나요?

@ghost
Copy link

ghost commented Sep 1, 2021

8880 포트는 HTTP 프록시 포트여서 HTTPS 환경에서는 작동을 안합니다 HTTPS 환경이시면 wss 연결을 위해 2053,2083,2087,2096,8443 포트를 쓰셔야됩니다

@helikespuppy
Copy link
Author

8880 포트는 HTTP 프록시 포트여서 HTTPS 환경에서는 작동을 안합니다 HTTPS 환경이시면 wss 연결을 위해 2053,2083,2087,2096,8443 포트를 쓰셔야니니다

아.. 그렇군요 답 감사합니다. 혹시 게임서버 포트 관련 파일이 어디있는지 아시나요?

@ghost
Copy link

ghost commented Sep 1, 2021

@helikespuppy
Copy link
Author

@lshqqytiger
Copy link
Contributor

lshqqytiger commented Sep 1, 2021

#871 의 global.json 관련 내용을 적용하지 않으신 것 같습니다. (또는 복붙 적용으로 인해 global.inc.json 파일만 내용이 바뀌고 global.json 파일의 내용은 바뀌지 않았거나)
global.json 파일에 #871 의 global.inc.json 파일에 대한 변경사항을 적용해주세요.
가장 권장하는 설정은 global.json에서 WAF.PORT_GAP: 30, MAIN_PORTS: [ 2052 ] 입니다.
(WAF.WEB, WAF.GAME 값도 당연히 true로 변경)

@helikespuppy
Copy link
Author

#871 의 global.json 관련 내용을 적용하지 않으신 것 같습니다. (또는 복붙 적용으로 인해 global.inc.json 파일만 내용이 바뀌고 global.json 파일의 내용은 바뀌지 않았거나)
global.json 파일에 #871 의 global.inc.json 파일에 대한 변경사항을 적용해주세요.
가장 권장하는 설정은 global.json에서 WAF.PORT_GAP: 30, MAIN_PORTS: [ 2052 ] 입니다.
(WAF.WEB, WAF.GAME 값도 당연히 true로 변경)

PR 파일을 다시 받아서 적용해야 하나요 아니면 WAF 만 적용 된 파일이 있나요?
직접 수정하고 싶습니다.

@lshqqytiger
Copy link
Contributor

#871 의 global.inc.json 파일에 추가된 내용만 global.json으로 붙여넣으시면 됩니다.

@helikespuppy
Copy link
Author

#871 의 global.inc.json 파일에 추가된 내용만 global.json으로 붙여넣으시면 됩니다.

적용 전엔 인게임까지 들어가지고 방 만들기만 안됐는데 적용 후 아에 인게임 조차도 들어가지지 않네요.

@lshqqytiger
Copy link
Contributor

global.json 내용 어떻게 수정하셨는지 비밀번호 가린 후 보여주실 수 있나요

@helikespuppy
Copy link
Author

helikespuppy commented Sep 1, 2021

global.json 내용 어떻게 수정하셨는지 비밀번호 가린 후 보여주실 수 있나요

image

PR파일이 아닌 KKuTu Master 파일입니다.

@lshqqytiger
Copy link
Contributor

2052와 2082 포트에 대해 방화벽 설정과 포워딩 작업이 된 상태인가요?

@helikespuppy
Copy link
Author

helikespuppy commented Sep 2, 2021

2052와 2082 포트에 대해 방화벽 설정과 포워딩 작업이 된 상태인가요?

네, Grunt도 실행했고 캐시도 모두 지워보았으나 인게임 접속이 안되네요.
또한 netstat 명령어로 보니 2052, 2082 포트 모두 LISTEN 상태이긴 합니다.

@lshqqytiger
Copy link
Contributor

도메인을 통해 접속하셨던 거라면 localhost로도 시도해보세요

@helikespuppy
Copy link
Author

도메인을 통해 접속하셨던 거라면 localhost로도 시도해보세요

리눅스 서버에서 바로 돌리는 거기 때문에 로컬로 접속을 못하는데 IP로 접속해보면 되나요

@helikespuppy
Copy link
Author

도메인을 통해 접속하셨던 거라면 localhost로도 시도해보세요

리눅스 서버에서 바로 돌리는 거기 때문에 로컬로 접속을 못하는데 IP로 접속해보면 되나요

IP로 접속해보니 SSL 적용은 안되나 인게임 접속은 됩니다. 다만 방만들기는 안됩니다.

@lshqqytiger
Copy link
Contributor

방만들기가 안되는 것은 PR의 PORT_GAP 관련 내용이 적용되지 않은 상태인 것 같고 (개발자도구에서 방 만들기 시 어느 포트로 연결을 시도하는지 확인 필요) 도메인 접속 시 인게임 연결이 되지 않는 것은 제가 리눅스 환경에서 서버를 열어본 적이 없어서 도와드리기 힘들 것 같습니다.

@helikespuppy
Copy link
Author

방만들기가 안되는 것은 PR의 PORT_GAP 관련 내용이 적용되지 않은 상태인 것 같고 (개발자도구에서 방 만들기 시 어느 포트로 연결을 시도하는지 확인 필요) 도메인 접속 시 인게임 연결이 되지 않는 것은 제가 리눅스 환경에서 서버를 열어본 적이 없어서 도와드리기 힘들 것 같습니다.

PR 파일을 받아서 설정해야 하나요? 또한 방 만들기 시 2469 포트로 연결됩니다. 2469 포트는 포워딩 되어있지 않고요.

@lshqqytiger
Copy link
Contributor

lshqqytiger commented Sep 2, 2021

예상대로 프론트엔드쪽으로 PORT_GAP을 넘겨주지 않고 있거나 서버에 PORT_GAP 관련 코드가 없는 것 같습니다.
PR이 제대로 적용되지 않은 것입니다.

@helikespuppy
Copy link
Author

예상대로 프론트엔드쪽으로 PORT_GAP을 넘겨주지 않고 있거나 서버에 PORT_GAP 관련 코드가 없는 것 같습니다.
PR이 제대로 적용되지 않은 것입니다.

PR 적용이라는게 지금 Pull Request 말씀하시는거죠?
PR 어떤 파일을 적용해야 하나요?
일반 KKuTu (Master) 파일인데 꼭 PR파일을 다시 받아서 설정해야 하나요?

@lshqqytiger
Copy link
Contributor

lshqqytiger commented Sep 2, 2021

PR 적용(#871 )만이 해결 방법인건 아니지만 가장 간단하죠.
206548e5eab7cd6e8093e45399c71c539c7b9789
이 tree로 다시 진행하시거나 변경 사항이 있는 일부 파일만 덮어쓰시면 됩니다.

@helikespuppy
Copy link
Author

PR 적용(#871 )만이 해결 방법인건 아니지만 가장 간단하죠.
206548e5eab7cd6e8093e45399c71c539c7b9789
이 tree로 다시 진행하시거나 변경 사항이 있는 일부 파일만 덮어쓰시면 됩니다.

일부 파일을 덮어써서 해봤으나 달라진게 없어서 파일을 통째로 덮어씌워봤는데도 그대로네요.

@lshqqytiger
Copy link
Contributor

grunt 한번 해보세요.

@ghost
Copy link

ghost commented Sep 25, 2021

global.json 내용 어떻게 수정하셨는지 비밀번호 가린 후 보여주실 수 있나요

image

PR파일이 아닌 KKuTu Master 파일입니다.

2052 포트일 경우, CloudFlare의 HTTP 지원 포트라서, HTTPS 지원 포트인 2053으로 바꿔주시기 바랍니다.
그리고 만약 게임서버 포트가 2469일 경우 PORT_GAP 부분이 적용이 안됬을 경우가 높습니다. (이런 경우는 보통 캐시를 바이패스 안해서 생기긴 한데.. 이런 문제 생기면 캐시 모두 삭제하고 다시 접속하면 됩니다.)

@ljoljo9959
Copy link

#689

@JJoriping JJoriping closed this as not planned Won't fix, can't repro, duplicate, stale Dec 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants