nginx에서 http2 설정 시 크롬에서 접속 불가능한 현상

어느 날 갑자기, 크롬에서 해당 사이트(혹은 필자가 운영 중인 몇몇 사이트) 에서 접속이 불가능한 현상이 생겼다.

원인은 대략 spdy 프로토콜 인것으로 추정됐는데, 이를 해결하기 위해 http2를 꺼보기도 하고 구글에 치면 나오는 무슨 socket을 flush하라고 하고 온갖 난리를 다 쳐봐도 해결이안 되길래 그냥 때려쳤었다. (왜냐면 내가 주로 사용하는 파이어폭스는 됐거든…)

근데, 엣지에서 접속할 때 나온 에러메시지가 결정적인 힌트가 됐다.

대략 각 브라우저 별 에러 메시지는 다음과 같다.

/** Chrome
**/
ERR_SPDY_PROTOCOL_ERROR
/** EDGE
**/
INET_E_DOWNLOAD_FAILURE

여태 크롬의 에러메시지에서 해결방안을 찾아보려 했었다. (크롬에서 안됐으니까… 엣지는 뒷전)

그런데, 엣지의 에러메시지를 검색하는 도중 이 블로그에서 답을 찾을 수 있었다.

대략 내용은, 필자의 서버는 nginx 기반으로 돌아가는데 여기서 Content Security Policy 부분에서 문제가 생긴 것이다.

간단히 한 줄로 요약하자면, 해당 부분 설정을 할 때 줄 바꿈을 하면 안 되는 것이었다!!

이렇게 간단한 문제때문에 이렇게 시간을 오래 끌었었다니…

리눅스 tar.gz로 압축하기 압축풀기

주로 리눅스에선 tar와 tar.gz을 사용하게 되는데, 이를 해제하려면 무슨 짓을 해야하는지 알아본다. (사실 내가 자꾸 까먹어서..)

눈치 빠른사람은 tar랑 gz 둘 다 다른 확장자라는 것을 눈치 챘을것이다. tar는 우리가 흔히 아는 타르를 생각하면 빠를 것 같다. (왜 그 검은색의 끈적끈적한…)

타르는 한 파일로 묶어주는 기능이지만 용량을 줄여주진 않는다. 이 때문에 gz로 압축을 같이 해 주는 것이다!

압축하기

tar -zcvf 파일명.tar.gz 폴더명

tar.gz를 압축 푸는것도 비슷하지만 다른 명령어를 사용해서 풀 수 있다.

압축 풀기

tar -zxvf 파일명.tar.gz

리눅스 파일 내 특정 키워드 가진 파일 찾기

사용하다 보면 파일 내 특정 키워드를 가진 파일을 찾고 싶을 때가 있다.

이는 grep으로 쉽게 찾을 수 있다.

사용법

grep -r 키워드 *

하면 해당 폴더 내 키워드를 가진 파일 목록이 나올 것이다.

혹은, 우분투 사용 시 tracker라는 걸 사용할 수도 있지만 이는 여기에서 서술하지 않는다.