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 이 오리지널 파이썬 버전 보다 가벼움 ㅤ→ 프론트엔드 성능은 그다지 좋지는 않음 |