default.conf
/etc/nginx/conf.d/default.conf
따로 설정하지 않고 기본 페이지를 (Welcome to nginx!) 그대로 둡니다.가만히 두어도 문제가 발생하지는 않습니다.
명시적으로 지정하지 않은 모든 호스트에 대한 연결을 차단합니다. status 444 는 nginx 전용코드이며 응답없음 상태가 됩니다. 클라이언트에는 ERR_EMPTY_RESPONSE 에러메시지가 표시됩니다.
server { listen 80 default_server; server_name localhost; server_tokens off; return 444; }
apt install ssl-cert
server { listen 443 ssl http2 default_server; server_name localhost; server_tokens off; ssl_certificate "/etc/ssl/certs/ssl-cert-snakeoil.pem"; ssl_certificate_key "/etc/ssl/private/ssl-cert-snakeoil.key"; ssl_ciphers 'PSK'; return 444; }
접속이 정상적으로 되며, 고정으로 지정한 문구가 출력됩니다. (예제의 경우 WEB 이라고 표시됨)
server { listen 80 default_server; server_name localhost; server_tokens off; add_header Content-Type "text/plain"; return 200 "WEB"; }
접속이 정상적으로 되며, 고정으로 지정한 문구가 출력됩니다. (예제의 경우 WEB SSL 이라고 표시됨)
server { listen 443 ssl http2 default_server; server_name localhost; server_tokens off; ssl_certificate "/etc/ssl/certs/ssl-cert-snakeoil.pem"; ssl_certificate_key "/etc/ssl/private/ssl-cert-snakeoil.key"; add_header Content-Type "text/plain"; return 200 "WEB SSL"; }
명시적으로 지정하지 않은 모든 호스트에 대해 특정 페이지로 이동하도록 설정합니다. (301 redirect)
다음은 https://blog.lael.be/post/8319 페이지로 이동하도록 설정하는 예제입니다.
server { listen 80 default_server; server_name localhost; return 301 https://blog.lael.be/post/8319; }
기본값에서 php 실행옵션을 추가하고 ip 제한을 설정합니다. (당신의 현재 아이피 : 3.142.195.79)
server { listen 80 default_server; server_name localhost; root /usr/share/nginx/html; server_tokens off; allow 192.168.0.0/16; allow 172.31.0.0/16; allow 10.20.30.100; allow 3.142.195.79; deny all; location / { index index.php index.html; } location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }