Nginx는 고성능, 낮은 소비 및 강력한 동시성이라는 특징을 가질 뿐만 아니라 역방향 프록시 구성, 로드 밸런싱, HTTPS 및 기타 여러 기능을 지원하는 인기 있는 웹 서버입니다. WordPress/PHP 웹사이트의 경우 보안 보호를 위해 Nginx 구성을 사용하는 방법이 매우 중요합니다. 이 기사에서는 WordPress/PHP 웹사이트의 보안을 보장하기 위한 몇 가지 Nginx 구성 방법을 소개합니다.
역방향 프록시는 클라이언트 요청을 내부 서버로 전달하고 내부 서버는 클라이언트에 응답을 반환하는 것을 의미합니다. 역방향 프록시를 통해 내부 서버의 실제 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 주소를 나타냅니다.
제한된 IP 액세스를 구성하면 특정 IP 또는 IP 세그먼트에 대한 액세스를 제어하여 불법 액세스로부터 서버를 보호할 수 있습니다. Nginx에서는 아래와 같이 허용 및 거부 지시문을 사용하여 IP 액세스 제어를 구성할 수 있습니다.
location / { deny 192.168.1.1; allow all; }
위 구성은 IP 주소 192.168.1.1의 액세스 요청을 거부하고 다른 IP 주소의 액세스 요청을 허용합니다. 쉼표를 사용하여 여러 IP 주소 또는 IP 세그먼트를 구분할 수 있습니다.
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 인증서에 대한 경로이고 각각 개인 키.
핫링크 방지를 구성하면 다른 웹사이트가 직접 링크를 통해 이 사이트의 사진이나 리소스를 표시하는 것을 방지하여 리소스의 불법 사용을 방지할 수 있습니다. Nginx에서는 아래와 같이 valid_referers 지시문을 사용하여 안티 핫링크를 구성할 수 있습니다.
location /images/ { valid_referers none blocked yourdomain.com; if ($invalid_referer) { return 403; } }
위 구성에서 /images/는 보호할 리소스 경로이고, valid_referers는 유효한 소스 도메인 이름을 지정하는 데 사용되며, 없음 도메인 이름 제한이 사용되지 않고 차단됨을 의미합니다. 모든 불법 소스를 거부한다는 의미이고, yourdomain.com은 이 도메인 이름 소스로부터의 액세스를 허용한다는 의미입니다. 요청한 출발지가 유효한 출발지 목록에 없으면 403 오류가 반환됩니다.
캐시를 구성하면 서버의 부하를 줄이고, 웹사이트의 접속 속도를 향상시키며, 서버가 다운되었을 때 웹사이트의 접근성을 유지할 수 있습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!