>  기사  >  운영 및 유지보수  >  WordPress/PHP 웹사이트 보안을 보호하기 위해 Nginx를 구성하는 방법

WordPress/PHP 웹사이트 보안을 보호하기 위해 Nginx를 구성하는 방법

王林
王林원래의
2023-06-11 10:30:121670검색

Nginx는 고성능, 낮은 소비 및 강력한 동시성이라는 특징을 가질 뿐만 아니라 역방향 프록시 구성, 로드 밸런싱, HTTPS 및 기타 여러 기능을 지원하는 인기 있는 웹 서버입니다. WordPress/PHP 웹사이트의 경우 보안 보호를 위해 Nginx 구성을 사용하는 방법이 매우 중요합니다. 이 기사에서는 WordPress/PHP 웹사이트의 보안을 보장하기 위한 몇 가지 Nginx 구성 방법을 소개합니다.

  1. 역방향 프록시 구성

역방향 프록시는 클라이언트 요청을 내부 서버로 전달하고 내부 서버는 클라이언트에 응답을 반환하는 것을 의미합니다. 역방향 프록시를 통해 내부 서버의 실제 IP 주소를 숨길 수 있어 서버 보호 목적을 달성할 수 있습니다. Nginx에서는 아래와 같이 Proxy_pass 지시문을 사용하여 역방향 프록시를 구성할 수 있습니다.

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

위 구성에서 역방향 프록시 서버의 주소는 http://127.0.0.1:8080이고 $host는 클라이언트가 요청한 도메인 이름 $remote_addr은 클라이언트의 실제 IP 주소를 나타냅니다.

  1. 제한된 IP 액세스 구성

제한된 IP 액세스를 구성하면 특정 IP 또는 IP 세그먼트에 대한 액세스를 제어하여 불법 액세스로부터 서버를 보호할 수 있습니다. Nginx에서는 아래와 같이 허용 및 거부 지시문을 사용하여 IP 액세스 제어를 구성할 수 있습니다.

location / {
    deny 192.168.1.1;
    allow all;
}

위 구성은 IP 주소 192.168.1.1의 액세스 요청을 거부하고 다른 IP 주소의 액세스 요청을 허용합니다. 쉼표를 사용하여 여러 IP 주소 또는 IP 세그먼트를 구분할 수 있습니다.

  1. HTTPS 구성

HTTPS를 구성하면 전송되는 데이터를 암호화하여 전송 중에 데이터가 도난당하거나 변조되는 것을 방지할 수 있습니다. Nginx에서는 ssl_certificate 및 ssl_certificate_key 지침을 사용하여 다음과 같이 HTTPS를 구성할 수 있습니다.

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;

    location / {
        ...
    }
}

위 구성에서 /path/to/yourdomain.crt 및 /path/to/yourdomain.key는 SSL 인증서에 대한 경로이고 각각 개인 키.

  1. 핫링크 방지 구성

핫링크 방지를 구성하면 다른 웹사이트가 직접 링크를 통해 이 사이트의 사진이나 리소스를 표시하는 것을 방지하여 리소스의 불법 사용을 방지할 수 있습니다. Nginx에서는 아래와 같이 valid_referers 지시문을 사용하여 안티 핫링크를 구성할 수 있습니다.

location /images/ {
    valid_referers none blocked yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

위 구성에서 /images/는 보호할 리소스 경로이고, valid_referers는 유효한 소스 도메인 이름을 지정하는 데 사용되며, 없음 도메인 이름 제한이 사용되지 않고 차단됨을 의미합니다. 모든 불법 소스를 거부한다는 의미이고, yourdomain.com은 이 도메인 이름 소스로부터의 액세스를 허용한다는 의미입니다. 요청한 출발지가 유효한 출발지 목록에 없으면 403 오류가 반환됩니다.

  1. 캐시 구성

캐시를 구성하면 서버의 부하를 줄이고, 웹사이트의 접속 속도를 향상시키며, 서버가 다운되었을 때 웹사이트의 접근성을 유지할 수 있습니다. Nginx에서는 아래와 같이 Proxy_cache_path 지시문을 사용하여 캐시를 구성할 수 있습니다.

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;

location / {
    proxy_cache my_cache;
    proxy_cache_valid 200 60m;
    proxy_cache_valid 404 1m;
}

위 구성에서 /var/cache/nginx는 캐시 경로이고,level=1:2는 캐시 경로의 계층적 수준을 나타냅니다. ,keys_zone=my_cache: 10m은 my_cache를 캐시 저장 공간으로 사용함을 의미하고 크기는 10M이며 inactive=60m은 캐시가 60분 후에 삭제됨을 의미합니다. Proxy_cache 지시어는 캐싱을 활성화하는 데 사용되고, Proxy_cache_valid 지시어는 캐시 시간을 설정하는 데 사용됩니다.

요약

위의 5가지 Nginx 구성 방법을 통해 WordPress/PHP 웹사이트의 보안을 효과적으로 보호할 수 있습니다. 역방향 프록시는 서버의 실제 IP 주소를 숨길 수 있고, IP ​​액세스를 제한하면 서버에 대한 액세스 권한을 제어할 수 있으며, HTTPS는 데이터 전송을 암호화할 수 있으며, 안티 리칭은 불법 사용으로부터 리소스를 보호할 수 있으며, 캐싱은 액세스 속도와 접근성을 향상시킬 수 있습니다. 웹사이트. 물론 이러한 구성 방법이 웹사이트의 보안을 완전히 보장할 수는 없습니다. 비밀번호 보호, 파일 권한 등과 같은 다른 보안 문제에도 주의가 필요합니다.

위 내용은 WordPress/PHP 웹사이트 보안을 보호하기 위해 Nginx를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.