전체 글

전체 글

    httputil.ReverseProxy 사용시 Host Header 적용 문제

    발단 필자는 net/http/httputil 패키지에 포함된 httputil.ReverseProxy를 사용하여, 간이 역방향 프록시 프로그램을 개발 중에 있었다. 하지만, https://www.google.com 으로 프록싱 시켰는데 다음과 같은 오류를 반환 받았다. 404. That’s an error. The requested URL / was not found on this server. That’s all we know. / 이라는 경로에 접근하는데, not found라는 에러를 반환 받았다. 어떤 사람으로부터 Host Header가 존재하지 않아, Google 측의 LB에서 인식하는데에 문제가 있을 것이라는 의견을 받았다. 따라서 다음과 같은 코드를 추가하였지만, 같은 문제가 반복 되었다. r...

    cuDNN 회원가입 없이 바로 설치하기

    https://developer.download.nvidia.com/compute/redist/cudnn/ 위 링크를 통해 바로 버전을 선택하여 다운로드 받을 수 있다. Windows 환경을 위한 추가 설명 추가 설명은 공식 문서를 참조하여 작성하였다. 공식 문서: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows Windows에서 cuDNN 사용을 위해 zlibwapi.dll도 필요하다. 64비트: http://www.winimage.com/zLibDll/zlib123dllx64.zip 32비트: http://www.winimage.com/zLibDll/zlib123dll.zip 다운로드 받은 cuDNN..

    NGINX SSE 연결 Pending 발생시 해결방법

    발단 SSE를 사용하는 서비스를 사용하는 서비스를 백엔드 서버측에서 가동하고, NGINX를 통한 Reverse Proxy 설정 후 재시작 하였다. 하지만, 페이지는 잘 불러왔지만, 서버측에서 SSE 연결시 메시지를 전송하지 않는 문제가 발생하였음. 해결 방법 config의 server 블록에 다음을 추가하여 해결하였음. proxy_http_version 1.1; 원인 HTTP 연결은 HTTPS 연결로 301 moved permanently 리다이렉트 시켰으므로 무시한다. 본론으로 들어가자면, 일단 https 연결임을 가정할때, SSE 연결은 위 proxy_http_version 1.1; 부분을 빼면 다시 작동하지 않게 된다. This model is the default model used in HTTP..

    교육청 코로나 자가진단 시스템 분석

    본 분석자료는 더 이상 유효하지 않습니다. 2020년 7월경에 다양한 분석자료들이 발행되어 교육청이 인지함으로써 보안키보드 솔루션이 적용된 자가진단 시스템으로 변경하였습니다. 2022년 5월 주석 추가 보안키보드에 관한 자료는, 다음 레포지토리를 참고하시기 바랍니다. RionsKey (TouchEn Transkey Wrapper) 각각의 페이지들을 분석하여 분류해보았습니다. Postman을 사용하는 것이 가장 분석에 빠를 것 같아 써보았습니다. 각각 페이지는 다르며, 페이지마다 반환하는 값은 천차만별입니다. 먼저, 이 페이지는 schulNm라는 파라미터가 존재합니다. schulNm은 학교 이름을 의미하며, 띄어쓰기가 존재해서는 안됩니다. (ex. OOOO고등학교) 만약 제대로 파라미터를 넣었다면, sch..

    시놀로지 Web Station에서 httpd.conf 설정하기.

    시놀로지에서 Web Station을 구동시킬 때 apache를 사용하게 되면, httpd.conf 파일을 수정해야 할 때 살짝 난감해질 때가 있다. 그럴 때는 간단한 설정을 통해, 설정을 바꿈과 동시에, 자동 연동까지 갖춘 시스템을 만들어보자. 먼저, 파일을 저장시켜서 동기화할 파일을 저장한 폴더가 필요한데, 밑으로 나열되어있는 부분들이 전부 공유 폴더라는 폴더이다. 마찬가지로, 저기 antegral 이라고 쓰여있는 부분도 공유 폴더인 셈이다. 저 부분 중 하나를 아무거나 골라서 이름을 저장해두거나, 기억해둔다. 그리고, PuTTY를 켜서 SSH로 연결한다. 그다음, 이러한 명령어를 입력한다. sudo mkdir volume1/[공유폴더 이름]/config; sudo cp usr/local/etc/apa..

    시놀로지 Docker에서 Node.js 구동시 Invaild ELF header 오류

    발단 bcrypt를 사용하고 윈도우 -> 리눅스(시놀로지 Docker)로 옮기고 실행해보니 이런 오류가 난다. ~.node: Invaild ELF header 해결 방법 이럴 경우에는 docker node.js 이미지에 붙어있는 패키지 매니저를 사용해야 한다. 컨테이너 내부에 있는 node 파일 경로는, 공식 이미지 설명 기준, /home/node/app/~가 파일 경로이다. 만약 안된다면 /home/node 를 직접 확인해야한다. Synology 기준 본 솔루션은 공식 이미지 설정 방법에 따라서 설정했고, 경로에 package.json이 있는 경우를 가정하여 설명한다. Docker 창을 열고 컨테이너로 들어간다. node.js 컨테이너를 킨 후, 컨테이너 내부 메뉴로 들어간 후 터미널 버튼 누르고 생성..