nginx 第9話: 第9話の内容
はじめに
前回はnginx のSSL/TLS設定とHTTP/2機能について学びました。今回はnginx のセキュリティ設定とキャッシュの最適化について説明します。
これらの機能は、サーバーのセキュリティ性とパフォーマンスを向上させるために不可欠です。セキュリティ設定では、nginx が攻撃や脆弱性からサーバーを保護することができ、キャッシュの最適化では、nginx がキャッシュに含めるファイルやデータについて指定し、キャッシュの効率を高めます。
セキュリティ設定
nginx では、セキュリティ設定は http セクション内で行うことができます。例えば、以下のように server_tokens ディレクティブを使用すると、nginx のバージョン情報を非表示にすることができます。これにより、攻撃者が nginx の弱点を突き止めるのを防ぎます。
http {
server_tokens off;
}
また、ssl_protocols ディレクティブを使用すると、nginx がサポートする SSL/TLS プロトコルを指定できます。これにより、古いプロトコルの脆弱性からサーバーを保護できるようになります。
http {
ssl_protocols TLSv1.2 TLSv1.3;
}
キャッシュの最適化
nginx では、キャッシュの最適化は proxy_cache ディレクティブを使用して行うことができます。例えば、以下のように proxy_cache を指定すると、nginx がキャッシュに含めるファイルやデータについて指定し、キャッシュの効率を高めます。
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 404 10m;
}
}
}
この設定では、nginx はキャッシュに含めるファイルやデータについて /var/cache/nginx ディレクトリを使用し、キャッシュのキーゾーンとして my_cache を指定します。さらに、キャッシュの有効期間は 1 時間と 10 分で指定されます。
以上がnginx のセキュリティ設定とキャッシュの最適化の内容です。これらの機能は、サーバーのセキュリティ性とパフォーマンスを向上させるために不可欠です。