> 운영 및 유지보수 > 엔진스 > Nginx Proxy Manager 구성 분석 및 최적화

Nginx Proxy Manager 구성 분석 및 최적화

WBOY
풀어 주다: 2023-09-26 09:24:22
원래의
3048명이 탐색했습니다.

Nginx Proxy Manager配置解析与优化

Nginx 프록시 관리자 구성 분석 및 최적화

개요:

Nginx 프록시 관리자는 역방향 프록시 서버를 쉽게 구성하고 관리하는 데 도움이 되는 Nginx 기반 역방향 프록시 관리 도구입니다. Nginx Proxy Manager를 사용하는 과정에서 서버 구성을 분석하고 최적화하여 서버의 성능과 보안을 향상시킬 수 있습니다.

구성 분석:

  1. 구성 파일 위치 및 구조:

Nginx 프록시 관리자의 구성 파일은 /etc/nginx/conf.d 디렉터리에 있으며, 각 역방향 프록시의 구성 파일은 .conf로 끝납니다. . 구성 파일에는 주로 프록시 서버의 IP 주소, 포트 번호, 도메인 이름 및 기타 정보가 포함되어 있습니다.

  1. 기본 구성 항목 분석:

구성 파일에서 아래와 같이 몇 가지 기본 구성 항목을 볼 수 있습니다.

server {

listen 80;
server_name example.com;

location / {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}
로그인 후 복사

}

그 중에서 Listen은 수신 대기 포트 번호를 지정합니다. 도메인 이름은 URL 경로를 지정하고, Proxy_pass는 전달할 백엔드 서버 주소를 지정하며, Proxy_set_header는 요청 헤더 정보 설정을 지정합니다.

  1. 고급 구성 항목 분석:

Nginx 프록시 관리자의 구성 파일에서는 서버의 성능과 보안을 최적화하기 위해 일부 고급 구성 항목도 지원됩니다. 다음은 몇 가지 일반적인 고급 구성 항목입니다.

  • keepalive_timeout: 백엔드 서버와의 연결 유지 시간을 설정합니다. 기본값은 75초입니다. 이 값은 성능을 향상시키기 위해 적절하게 조정될 수 있습니다.
  • worker_connections: 작업자 프로세스당 최대 연결 수를 설정합니다. 기본값은 1024입니다. 이 값은 성능을 향상시키기 위해 적절하게 조정될 수 있습니다.
  • client_max_body_size: 클라이언트 요청을 수신하는 최대 볼륨을 설정합니다. 기본값은 1m입니다. 대용량 파일 업로드를 지원하기 위해 실제 요구 사항에 따라 더 큰 값을 설정할 수 있습니다.
  • limit_req_zone: 악의적인 요청 및 DDoS 공격을 방지하기 위해 요청 속도와 연결 수를 제한하도록 설정합니다.
  1. SSL/TLS 구성:

Nginx 프록시 관리자는 보안 통신을 제공하기 위해 SSL/TLS 구성도 지원합니다. 다음은 몇 가지 일반적인 SSL/TLS 구성 항목입니다.

server {

listen 443 ssl;
server_name example.com;

ssl_certificate /etc/nginx/ssl/cert.crt;
ssl_certificate_key /etc/nginx/ssl/cert.key;

location / {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}
로그인 후 복사

}

그 중 ssl_certificate 및 ssl_certificate_key는 SSL 인증서의 경로를 지정합니다. SSL/TLS를 구성하면 클라이언트와 프록시 서버 간의 데이터 전송을 보호할 수 있습니다.

구성 최적화:

Nginx 프록시 관리자의 성능과 보안을 더욱 향상시키기 위해 몇 가지 최적화 구성을 만들 수 있습니다.

  1. 캐시 구성:

Nginx 프록시 관리자는 자주 액세스하는 정적 리소스를 로컬로 캐시하여 응답 시간과 대역폭 사용량을 줄일 수 있는 HTTP 캐시 구성을 지원합니다. 다음은 몇 가지 일반적인 캐시 구성 항목입니다.

server {

listen 80;
server_name example.com;

location / {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_cache my_cache;
    proxy_cache_valid 200 1h;
}

location ~* .(css|js|gif|jpg|jpeg|png)$ {
    proxy_cache my_cache;
    proxy_cache_valid 200 1d;
}

location ~* .(woff|ttf|svg|eot)$ {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_cache my_cache;
    proxy_cache_valid 200 30d;
}
로그인 후 복사

}

그 중 Proxy_cache는 캐시 이름을 지정하고, Proxy_cache_valid는 캐시 유효 시간을 지정합니다.

  1. 로드 밸런싱 구성:

서버의 성능과 가용성을 향상시키기 위해 Nginx 프록시 관리자의 로드 밸런싱 기능을 사용하여 요청을 여러 백엔드 서버에 분산할 수 있습니다. 다음은 몇 가지 일반적인 로드 밸런싱 구성 항목입니다.

업스트림 백엔드 {

server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
로그인 후 복사

}

여기서 backend1, backend2 및 backend3은 백엔드 서버의 주소입니다.

  1. 보안 구성:

서버의 보안을 향상시키기 위해 아래와 같이 Nginx Proxy Manager의 보안 구성 항목을 사용할 수 있습니다.

server {

listen 80;
server_name example.com;

location / {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_hide_header X-Powered-By;
    proxy_hide_header Server;
    proxy_next_upstream error timeout http_503;
}
로그인 후 복사

}

그 중 Proxy_set_header는 다음을 지정합니다. 요청 헤더 정보,proxy_hide_header는 숨겨진 응답 헤더 정보를 지정하고,proxy_next_upstream은 오류, 시간 초과 또는 http_503이 발생하면 요청을 다음 백엔드 서버로 계속 전달하도록 지정합니다.

결론:

Nginx Proxy Manager의 구성을 분석하고 최적화함으로써 서버의 성능과 보안을 향상시킬 수 있습니다. 실제 애플리케이션에서는 요구 사항에 따라 적절한 구성 조정이 이루어질 수 있으며 테스트 환경에서 테스트 및 검증될 수 있습니다. 이 기사가 Nginx 프록시 관리자를 사용하는 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 Nginx Proxy Manager 구성 분석 및 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿