728x90

웹 컨텐츠 전송을 위한 프로토콜의 대세가 h2 혹은 http/2 로 자리잡아 가면서 맥(Mac)의 쉘에서도 http/2를 테스트 해야하시는 분들이 많이 늘었을 것으로 생각됩니다. 알려진 내용에 따르면 curl 의 7.34.1 버전 이후에는 --http2 옵션을 통해 http2 로 서버와 통신을 하도록 강제할 수 있지만 환경에 따라서 안되는 경우가 많습니다. curl 은 http/2 를 지원하기 위해 nghttp2 라이브러리를 이용하고 있기 때문에 우선은 nghttp2 를 설치해야 합니다.




nghttp2 가 설치되면 이를 이용해서 curl 을 다시 build 하거나 설치해야 합니다. 홈브루(Homebrew)를 이용하면 간단하게 새로운 버전으로 빌드를 하면서 설치할 수 있으니 아래의 커맨드를 참고해서 설치를 진행하도록 합시다. 아래와 같이 설치한 후 brew info curl 명령을 통해 nghttp2 에 초록색 체크박스가 잘 들어왔다면 일단 설치는 제대로 잘 된거라 봐도 되겠습니다.





그런데 여기까지 하고나서도 curl 을 --http2 옵션으로 실행했을 때 지원하지 않는 프로토콜이라고 에러가 떨어진다면 심볼릭 링크를 한번 교체해줄 필요가 있습니다. 환경 설정에 따라, 사용자 계정에 따라 sudo 를 통해서 권한 상승을 해야 할 필요도 있으니 상황에 따라 적절한 옵션으로 심볼릭 링크를 교체해 주시면 되겠습니다. 




여기까지 해서 마무리가 잘 되었다면 curl --http2 옵션으로 http2 가 활성화된 사이트들, 예를 들어서 아카마이의 https://http2.akamai.com 이라던가 구글 메인 페이지 (https://www.google.com) 쪽으로 요청을 던져볼 수 있게 되셨을 겁니다. 일단 개인적으로 여기까지 해서 문제는 없었습니다만 다른 문제를 겪는 분이 계시다면 댓글로 남겨주시면 한번 살펴보도록 하겠습니다!



- NoPD -




728x90
728x90

가끔 사용중인 리눅스 배포판의 버전과 커널의 버전 확인이 필요할때가 있습니다. 워낙에 배포판도 많고 커널의 버전도 다양하기 때문에 환경에 적합하게 구성된 패키지를 설치하지 않는 경우 이슈가 생길수도 있기 때문이지요. yum 이나 apt-get 으로 설치하는 경우에는 별 문제가 없겠지만 별도로 어플리케이션을 다운로드 받거나 빌드할 필요가 있을때는 버전을 잘~ 맞추어줄 필요가 있습니다.


Cent OS 를 이용하는 경우 아래와 같은 명령을 이용해서 운영체제의 버전과 커널의 버전을 확인할 수 있습니다. redhat 과 같은 다른 배포판 역시 비슷한 네이밍 컨벤션을 사용하고 있기 때문에 해당 폴더에서 어렵지 않게 관련된 파일을 확인할 수 있으니 참고하시기 바랍니다. 자꾸 까먹게 되어 블로그에 기록해 둡니다. 누군가에겐 또 도움이 되리라 믿으며..!!



#cat etc/centos-release

#uname -r 



728x90

+ Recent posts