간만에 코딩할 게 생겨서 반 년만에 AWS에서 제공받았던 EC2 사설 서버를 켰다.
그런데 갑자기 구글 크롬에서 서버 IP로 주피터 노트북이 접속이 안 되기 시작했다.
분명 netstat으로 찾아보면 파이썬이 0.0.0.0으로 되어 있어서 다시 주피터 노트북을 실행해봤는데...
아뿔싸, 이미 8888 포트가 실행중이라 8889로 열렸다. 일단 그래서 열려 있는 8888 포트를 kill 명령어를 이용해 PID를 특정하여 지웠고, 다시 jupyter notebook 명령어를 이용해 실행했다.
이번엔 localhost가 아니라 ip라고 떴으니 잘 될 거라고 생각했는데...
......어째서?
반 년동안 건드린 설정이 없는데, 업데이트 문제인가 싶어서 sudo apt-get update를 실행했는데도 jupyter-notebook 명령어를 입력하고 해당 ip로 접근하면 주피터 노트북으로 접근이 되지 않는다.
몇 번 해보니 Malformed HTTP라는 문구와 함께 헤더 라인, 콘텐츠 에러가 떴다.
해당 메시지로 접근해보니 구글 크롬에서자주 발생하는 문제라고, https를 http로 바꾸어 접근하면 해결된다고 했다.
그 말을 듣고 Microsoft Edge로 접속해 http로 바꾸어 해당 ip에 접근하니 해결됐다.
찾아보니 해당 문제는 크롬 브라우저에서 자주 발생하는 문제라고 한다.
특히나 크롬의 경우, 무조건 https 접근을 사용하기 때문에 해당 설정을 바꾸지 않으면 접속이 어렵다고 한다.
이것 때문에 검색 기록이나 로그인 기록도 전부 삭제하고, 구글 로그인 자체도 초기화 했는데...
고생을 너무 많이 했다.
당분간은 왜 Malformed HTTP message가 도착했는지 찾아볼 예정이다.
=> 이후 크롬에서 사설 서버 외에도 대부분의 http 홈페이지가 접속되지 않는 것을 확인했다. 강제로 크롬이 http를 https로 리다이렉트하면서 생긴 문제같다. 보안 면에서는 그게 좋긴 하지만...
아마 당분간 http 접속은 Microsoft Edge로 계속 하게 될 것 같다.