# nginx playground

> Clean Markdown view of GeekNews topic #5084. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=5084](https://news.hada.io/topic?id=5084)
- GeekNews Markdown: [https://news.hada.io/topic/5084.md](https://news.hada.io/topic/5084.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-09-27T09:36:19+09:00
- Updated: 2021-09-27T09:36:19+09:00
- Original source: [jvns.ca](https://jvns.ca/blog/2021/09/24/new-tool--an-nginx-playground/)
- Points: 10
- Comments: 0

## Topic Body

- 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 이 오리지널 파이썬 버전 보다 가벼움

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

## Comments



_No public comments on this page._
