Programming/Server(13)
-
Spawn-fcgi의 크로스 컴파일
Spawn-fcgi의 크로스 컴파일에 대하여 spawn-fcgi는 nginx에서 다른 라이브러리를 사용하지 않고 fcgi를 돌릴 때 필요한 아이로, fcgi를 프로세스 단위로 실행해주는 녀석이다. 이 녀석을 사용하여 fcgi를 실행한 뒤, nginx에서 proxy-pass해주면 fcgi를 이용하여 통신하는 것이 가능해진다. OpenResty/NGINX를 크로스 컴파일 할 때와 마찬가지로, QEMU나 Scratchbox와 같은 툴로 에뮬레이터 환경을 구축한 뒤 컴파일하면 아무런 설정 없이 컴파일이 가능하다. Scratchbox와 QEMU에 대해서는 OpenResty/NGINX의 크로스 컴파일 할 때 알아봤으므로, 이번에는 설명을 생략하도록 하겠다. configure를 통한 설정 Scratchbox와 QEM..
2020.05.08 -
nginx에서 flask로의 proxy pass (reverse proxy)
가볍고 속도가 빠른 Nginx를 메인으로 사용하고, 실제 API등의 처리는 호환성 및 라이브러리가 다양한 Flask를 사용하는 환경을 구축하게 됐다. 두 개의 서버가 돌아가고 있는 상황인데, 외부에서 Flask에 직접 설정할 수 없도록 로컬 포트를 할당해준다. 그리고 Nginx의 특정 패스로 접근하면, Flask로 proxy pass하여 Flask에서 내용을 처리하도록 설정한다. 우선은 Flask 샘플코드를 사용하여, 정상적으로 실행되는지 확인하자. 아래의 코드는 Flask의 특정 경로로 접근할 시, Plain text를 반환하는 코드이다. from flask import Flask app = Flask(__name__) @app.route('/hi') def hi(): return ..
2019.11.20 -
[lighttpd] TLSv1.0, TLSv1.1 비활성화하기 (TLSv1.2 Only)
lighttpd를 사용하여 TLSv1.0, TLSv1.1을 사용하는 방법은 버전에 따라 갈리게 된다. [Docs SSL, lighttpd] 문서를 살펴보면 ssl.openssl.ssl-conf-cmd라는 녀석이 있다. lighttpd를 빌드할 때 openSSL을 사용하도록 빌드했다면, 이 옵션을 이용해서 openssl 설정 명령어를 설정해두는 게 가능하다. 문서의 예제에도 나와있듯이, TLSv1.2만 사용하고싶은 경우에는 아래와 같이 설정해두면 된다. ssl.openssl.ssl-conf-cmd=("Protocol" => "-ALL, TLSv1.2") 명령어를 보자마자 한눈에 알 수 있겠지만, 사족을 붙이자면 모든 프로토콜을 사용하지 않도록 설정한 뒤 TLSv1.2를 사용하도록 선언한다. 이렇게 되면 T..
2019.08.22 -
[nginx] RFC2617기준의 Digest를 알아보자. feat. nginx-http-auth-digest
RFC2617의 Digest 인증방식은 obsolates되고 RFC7616이 나오기는 했지만, 요즘에는 Digest인증을 사용하기보다는 폼 베이스 인증방식을 쓰기도 하고, 브라우저에서 RFC7616의 Digest 인증방식을 지원하지 않아서 nginx-http-auth-digest모듈에 RFC7616방식을 구현한 브랜치가 없지 않나 싶다. 아무튼 현재로써는 구현이 필요한 상황이다. 시간나면 구현해봐야겠다. RFC2617 문서는 HTTP Authentication: Basic and Digest Access Authentication에서, RFC7616 문서는 HTTP Digest Access Authentication에서 확인이 가능하다. RFC2617기준의 Digest 인증방식에 대해 간단하게 설명하자면..
2019.07.21 -
nginx(openresty) + digest 크로스컴파일 삽질기록
- 우리 회사에서 사용하는 장비의 웹 환경은, Openresty가 크로스컴파일되어 fcgi로 api를 주고받는 형식이다. - 예전에 칩셋의 제조사가 한번 바꼈었는데, 예전의 칩셋을 사용하는 장비들은 모두 digest방식을 지원했다. 하지만 어째서인지, 최근 칩셋을 사용하는 플랫폼에는 digest방식을 지원하는 기능이 빠져있었다. - 어찌어찌해서 기존의 플랫폼을 참조하여, digest방식을 지원하는 UI를 만들었다. 그런데 문제가 있었다. 쿼리 스트링을 사용해서 api를 호출하려 하니, 계속해서 재인증을 요청한다. - 도무지 원인을 알 수가 없었기에, nginx 문서와 가이드를 한참을 뒤져보고, 또 설정파일을 분석하느라 약 2주일이 걸렸다. 바짓가랑이라도 잡는 심정으로 전임자가 만들어놓고 간 openres..
2016.12.27 -
LTFViewer
출처: http://fruitdev.tistory.com/63 로그 파일 등 용량이 큰 텍스트 파일은, 일반적인 텍스트 에디터로 보기 어렵다.여는데도 한 새월이 가고, 검색이라도 하려고 하면 에디터가 죽어버리기 일수다.우연히 검색을 통해 '과일가게 개발자' 블로그에서 LTFViewer라는 아이를 만났는데, 여는 속도도 빠르고 검색도 수월하다. 게다가 무설치라 들고다니기도 용이하다.
2016.04.04