W

自己署名証明書を作成する際のCommon Name (CN)には、IPアドレスだけで十分です。ポート番号やプロトコル(http/https)を指定する必要はありません。

証明書のCNに「192.168.11.56」を指定して作成したので問題ありません。以下のように自己署名証明書を作成する手順は正しいです。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Common Name (e.g. server FQDN or YOUR name) にはサーバーのIPアドレスを入力します。

重要な設定項目の再確認

1. Nginxの設定ファイル確認

Nginxの設定が正しく行われているか確認します。特に、証明書と秘密鍵のパス、そしてリバースプロキシの設定が正しいか確認します。

sudo nano /etc/nginx/sites-available/rocketchat

以下の設定が正しいことを確認してください:

server {
    listen 80;
    server_name _;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name _;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2. Nginxの再起動

設定を確認した後、Nginxを再起動して変更を適用します。

sudo nginx -t
sudo systemctl restart nginx

3. クライアント側の証明書インストール確認

クライアント側で証明書を正しくインストールしたことを確認します。特に、証明書が「信頼されたルート証明機関」にインストールされていることが重要です。

4. ブラウザのキャッシュと信頼設定

ブラウザのキャッシュをクリアし、証明書の信頼設定を確認してください。

5. 証明書の内容確認

生成された証明書の内容を確認して、正しいIPアドレスが含まれていることを確認します。

openssl x509 -in /etc/ssl/certs/nginx-selfsigned.crt -text -noout

この出力に「Common Name: 192.168.11.56」が含まれていることを確認してください。

6. Nginxのログ確認

Nginxのエラーログを確認して、エラーが発生していないか確認します。

sudo tail -f /var/log/nginx/error.log

この記事が気に入ったらサポートをしてみませんか?