NginxのSSLでもdefault_serverを設定 → return 444で十分だった

サーバーからウェブサイトを削除したらNot foundにならなかったので設定したときの覚書。

環境: CentOS 7.9, Nginx 1.18.0, OpenSSL 1.0.2k

参考サイト


作業場所に移動
# mkdir /etc/nginx/ssl.d
# cd /etc/nginx/ssl.d

秘密鍵を作る
# openssl genrsa 2048 > selfcert.key

証明書署名要求(CSR)を作る
# openssl req -new -key selfcert.key > selfcert.csr

自前認証局の証明書を使って署名実行。
# openssl x509 -days 3650 -req -signkey selfcert.key -in selfcert.csr > selfcert.crt

この証明書をnginxに設定する。
# less ../conf.d/00_default.conf

server {
    listen       80 default_server;
    listen      443 ssl default_server;
    server_name  _;
    ssl_certificate      /etc/nginx/ssl.d/selfcert.crt;
    ssl_certificate_key  /etc/nginx/ssl.d/selfcert.key;
    return 444;
}

testして再読み込み
# nginx -t
# systemctl reload nginx

ん?他のsslサイトも見れなくなった。
元に戻す。。。というか404ではなく。444にしてみた。
# less ../conf.d/00_default.conf

server {
    listen       80 default_server;
    server_name  _;
    return 444;
}

testして再読み込み
# nginx -t
# systemctl reload nginx

ブラウザで確認。
うん。これでいい。

444はnginx固有の設定でコネクションをクローズさせる値。


【関連記事】