inblog logo
|
jaeminlog
    SILD 운영 가이드

    nginx 프록시 설정

    .
    유재민's avatar
    유재민
    Apr 02, 2024
    nginx 프록시 설정

    실제 운영용 nginx.conf 파일은 Github > Server 프로젝트(링크) 참고

    설정

    값

    설명

    limit_conn_zone

    $binary_remote_addr zone=ddos_conn:10m;

    원격 ip 요청을 저장하는 ddos_conn이라는 메모리 영역을 10m 잡음

    limit_req_zone

    $binary_remote_addr zone=ddos_req:10m rate=10r/s;

    원격 ip 요청을 저장하는 ddos_req라는 메모리 영역을 10m 잡고 초당 요청을 10회로 제한함

    upstream lb_sild_server

    least_conn;

    server 127.0.0.1:13000; server 127.0.0.1:13001;

    13000, 13001 포트 중에 연결이 적은 쪽으로 로드밸런싱 

    upstream lb_sild_bo

    least_conn;

    server 127.0.0.1:8000; server 127.0.0.1:8001;

    8000, 8001 포트 중에 연결이 적은 쪽으로 로드밸런싱 

    ssl_certificate, ssl_certificate_key

    /etc/letsencrypt/live/도메인주소/fullchain.pem;

    /etc/letsencrypt/live/도메인주소/privkey.pem;

    ssl 보안을 위한 인증서(letsencrypt 사용함)

    ssl_session_cache

    shared:SSL:1m;

    1m 크기의 영역을 잡음(이론상 4000세션 유지)

    ssl_prefer_server_ciphers

    on;

    암호화 옵션 on

    ssl_session_timeout

    5m;

    5분동안 세션 유지

    ssl

    on;

    proxy_set_header 

    X-Forwarded-For $proxy_add_x_forwarded_for;
    X-Forwarded-Proto https;
    X-Real-IP $remote_addr;
    HOST $http_host;
    X-NginX-Proxy true;
    Connection "";

    프록시/로드밸런서로 들어오는 요청에 헤더들을 남김

    proxy_connect_timeout
    proxy_read_timeout
    proxy_send_timeout

    3000;

    프록시 연결 타임아웃을 3000초

    proxy_pass

    주소

    해당 주소로 프록시태움

    proxy_buffer_size

    128k

    응답 데이터를 읽는 첫 부분의 크기

    proxy_buffers

    4 256k

    응답 데이터를 읽는 버퍼의 수와 크기

    proxy_busy_buffers_size

    256k

    버퍼가 이 값을 초과하면 버퍼를 비우고, 클라이언트에게 알림

    limit_conn

    ddos_conn 10;

    ddos_conn이라는 메모리 영역을 사용해서 동시 10개 연결까지만 허용

    limit_req

    zone=ddos_req burst=5

    ddos_req라는 메모리영역의 초당 요청에 추가로 최대 +5회까지 사용

    valid_referers

    none blocked server_names *.sild.app;

    *.sild.app으로 들어오는 요청만 차단하지 않겠다.

    client_max_body_size

    100M

    클라이언트로부터 들어오는 바디 사이즈는 최대 100(이미지 업로드 제한)

    allow

    ip

    해당 ip만 허용

    deny

    all

    allow 제외하고 모두 차단

    Share article

    jaeminlog

    RSS·Powered by Inblog