💭

nginxでSSLの設定をする

2023/10/12に公開

この文書は何か

nginxをSSLに対応させる。+ 基礎的な設定事項の備忘録。

実施手順

  1. nginx.confの修正(SSLに対応させる設定の追加)
user  nginx; # rootユーザにしない
worker_processes  1; # 実行プロセス数

pid        [nginxのプロセス識別番号を記載するパス];

# イベント関連の設定
events {
    worker_connections  [コネクション数];
}

# webサーバ関連の設定
http {
    default_type  [デフォルトタイプを指定];

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '$ssl_protocol/$ssl_cipher '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    
    server {
        listen       443 ssl;
        server_name  [server_name];

        ssl_certificate     [公開鍵証明書のファイルパス];
        ssl_certificate_key [秘密鍵のファイルパス];
        ssl_password_file   [秘密鍵のパスワードのファイルパス];
        ssl_session_cache    shared:SSL:1m; # SSLのセッション情報を一時的に保存するための命令
        ssl_session_timeout  5m; # 上記のキャッシュ内で保持されている時間を設定
        ssl_protocols        TLSv1.2;
        ssl_ciphers          [暗号形式を指定];

        add_header X-XSS-Protection       "1;mode=block"; # XSS(クロスサイトスクリプティング)攻撃フィルタを有効化
        add_header X-Content-Type-Options "nosniff"; # コンテンツタイプを変更しないようにする設定を有効化

        # locationの設定
        location / {
        }
    }
}
  1. SSL証明書の準備
    今回は自己証明書を利用、以下を参考に実施
    https://qiita.com/clown0082/items/551d7c081ff6b41b1717

  2. nginxの再起動

systemctl restart nginx

Discussion