Tech News

제목nginx playground2021-09-29 22:43
작성자 Level 10

https://jvns.ca/blog/2021/09/24/new-tool--an-nginx-playground/ 

- nginx 설정을 맘대로 바꿔서 테스트 가능한 플레이 그라운드

ㅤ→ config 와 curl/http 명령을 입력하고 Run을 눌러서 실행

ㅤ→ 실행한 명령의 결과와 nginx 에러 로그를 보여줌

- Vue.js 프론트 + Go 백엔드(Gist로 서버코드만 공개)

- 실행 버튼을 누르면 Go 백엔드가 다음의 일들을 수행

ㅤ→ 설정파일을 temp 파일로 저장

ㅤ→ 새로운 네트워크 네임스페이스 생성

ㅤㅤㅤip netns add $RANDOM_NAMESPACE_NAME

ㅤ→ go-httpbin 을 777 포트로 실행

ㅤ→ nginx 시작

ㅤ→ nginx 제대로 실행될때까지 100ms 대기. 실패하면 nginx 에러로그 리턴

ㅤ→ 사용자가 입력한 명령 실행 (curl / http 로 되어있는지 확인)

ㅤ→ 요청의 출력 리턴

- 1대의 공유 서버로 모든 요청을 처리


- 보안 적인 접근 : 약간의 isolation, 약간의 YOLO

ㅤ→ 프론트엔드는 CDN에서 호스트

ㅤ→ DB 사용안함. 브라우저 로컬 스토리지만 사용

ㅤ→ 모든 nginx는 자신의 네트워크 네임스페이스에 두기. 인터넷 접속 못하게 막음

ㅤ→ fly.io 의 무료티어 사용

ㅤ→ 사람들한테 nice 하게 행동하도록 FAQ에 넣기


- 성능

ㅤ→ 아주 작은 인스턴스(1 shared CPU, 256MB 램)

ㅤ→ 프론트엔드는 CDN이어서 백엔드는 실제 사용할때만 가동

ㅤ→ 요청 하나는 400ms 정도 걸림. 나쁘지 않음

ㅤ→ Go 버전 httpbin 이 오리지널 파이썬 버전 보다 가벼움

ㅤ→ 프론트엔드 성능은 그다지 좋지는 않음

댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)