Programing Study/네트워크
-
Ngnix) 서버 로드밸런싱 하기Programing Study/네트워크 2021. 8. 13. 16:18
[Docker][ShellScript]Nginx.LoadBalancer-Nodejs : 엔진엑스로 nodejs에 로드밸런싱하기 http://nginx.org/en/docs/http/ngx_http_upstream_module.html 로드 밸런서라는것을 아는가? 개념은 위의 그림을 보면 이해할 수 있는데 가령 WAS(Web Application Server)가 한개라고 가정해보자. 그러면 서버 한대분량의 부하(Load)만 받을 수 있을 것이다. 하지만 사용자가 늘어서 서버 두대를 사용해야할 경우 어떻게 해야할까? 그 경우에는 보통 위처럼 nginx를 앞에 두고 서버를 nginx에 연결하는 방식으로 만들 것이다. 즉 nginx는 요청을 받아서 WAS에 중계해주는 역활을 한다. 그러면 Load가 고르게(Ba..
-
Ngnix) 특정 IP만 허용 및 차단 설정하기Programing Study/네트워크 2021. 8. 13. 15:34
server { listen 80; ~ location / { root /home2/manage/dbmanager; index index.php index.html index.htm; allow 1.214.252.58; allow 124.50.153.0/24; deny all; } nginx 에서 특정 아이피 허용 allow xx; nginx 에서 특정 아이피 차단 deny xx; ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------..
-
Nginx) 변수 종류Programing Study/네트워크 2021. 8. 13. 14:46
참고*https://opentutorials.org/module/384/4508 예제 아래와 같은 URL로 접근 했을 때 환경변수는 아래와 같다. http://opentutorials.org:80/production/module/index.php?type=module&id=12 $host : opentutorials.org $uri : /production/module/index.php $args : type=module&id=12 $query_string (same as $args) server_addr : 115.68.24.88 server_name : localhost server_port : 80 server_protocol : HTTP/1.1 $arg_type : module $request_u..
-
Nginx) proxy_pass 작동안할때Programing Study/네트워크 2021. 8. 13. 14:27
upstream backend{ server localhost:8080; } server { location /api { proxy_pass http://backend; } location / { root /html/dir; } } 다음과 같은 비슷한 상황에서 api로 접근했을때 backend 서버 접근이 안되었다. location /api/ { proxy_pass http://backend; } location /api/ { proxy_pass http://backend/; } 다음과 같은 방법으로 해결할 수 있다. 정확한 이유는 https://stackoverflow.com/a/62753212 참고 하길 바란다.
-
서버) 웹 캐싱과 브라우저 캐싱에 대해서Programing Study/네트워크 2021. 8. 12. 20:56
출처https://rinae.dev/posts/web-caching-explained-by-buying-milk-kr Kevin Kononenko 의 Web Caching Explained by Buying Milk at the Supermarket를 번역한 글입니다 슈퍼마켓에서 우유를 사 보신적 있다면, 서버와 브라우저 양쪽의 캐싱 개념을 이해하실 수 있습니다. 여러분이 인터넷을 열심히 사용하고 있다면(아마 그렇겠죠), 캐싱의 덕을 톡톡이 보셨을 겁니다. 하지만 언제 어떻게 이 마법같은 일이 일어나는지 잘 알고 계실지 모르겠습니다. 개발자의 관점에서 본다면 캐싱은 높은 성능의 웹 애플리케이션과 웹 서버를 더 쉽게 만들어주는 역할을 합니다. 매번 몰려드는 수천 개의 요청을 처리하느라 서버를 최적화하는 방..
-
서버) Nginx 캐시 설정방법Programing Study/네트워크 2021. 8. 11. 21:01
Nginx 에서 캐시 설정을 하는 방법에 대한 기록입니다. 캐시 서버를 별도로 두는 방법도 있고 캐싱 방법이야 무궁무진한데, 일반적으로는 클라이언트의 컴퓨터에 다운받게하고 웹 서버에서 정보를 풀링할동안 띄워주는 역할을 하는 그 캐시를 설정하는 방법을 알아보았다. 일반적으로 모든 웹 페이지 소스는 클라이언트에 다운되어 랜더링 되는데, 이 과정에서 Cache TTL(생존주기)가 대부분 미정으로 되어있다. 이런 페이지는 브라우저나 환경별로 매번 새 정보를 요청할때가 있거니와 자체적인 TTL 기준으로 사용되어지기도 한다. 보통 그래서 html 메타태그에 Cache-Control 이란 설정으로 페이지별로 캐싱정도를 관리하기도 하지만, 여기서는 Nginx가 모든 리소스 요청에 대해 캐싱 기준을 설정하는 그런 방법에..