HOME > 技術ドキュメント > Nginx SSL/TLS 設定(Ubuntu 24.04)
Nginx SSL/TLS 設定(Ubuntu 24.04 LTS)
Ubuntu 24.04 LTS への Nginx インストールと SSL/TLS(HTTPS)設定を解説します。
TLS 1.2/1.3 への対応、HTTP → HTTPS リダイレクト、バーチャルホストの設定まで順を追って説明します。
1. Nginx のインストール
sudo apt update sudo apt install -y nginx # バージョン確認 nginx -v # nginx version: nginx/1.24.x # 起動・自動起動 sudo systemctl start nginx sudo systemctl enable nginx
2. ファイアウォール設定(ufw)
sudo ufw allow 'Nginx Full' sudo ufw enable sudo ufw status
3. SSL証明書の配置
取得した SSL証明書ファイルをサーバーに配置します。
証明書の取得方法は 購入から発行までの流れ をご参照ください。
低価格 DV 証明書として RapidSSL(3,960円/1年〜) が手軽です。CSR 作成は CSR 生成ツール もご利用いただけます。
# 証明書と秘密鍵を配置(パスは任意) sudo cp your_domain.crt /etc/ssl/certs/your_domain.crt sudo cp your_domain.key /etc/ssl/private/your_domain.key sudo chmod 600 /etc/ssl/private/your_domain.key # 中間証明書を結合する場合(フルチェーン) cat your_domain.crt intermediate.crt > /etc/ssl/certs/your_domain_fullchain.crt
4. Nginx バーチャルホスト設定(HTTPS)
/etc/nginx/sites-available/example.com を作成します。
# HTTP → HTTPS リダイレクト
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
# HTTPS 設定
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/ssl/certs/your_domain_fullchain.crt;
ssl_certificate_key /etc/ssl/private/your_domain.key;
# TLS バージョン(1.2 以上を許可)
ssl_protocols TLSv1.2 TLSv1.3;
# セキュアな暗号スイート
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS(HTTPS を強制)
add_header Strict-Transport-Security "max-age=63072000" always;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
# シンボリックリンクで有効化 sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ # 設定ファイルの構文確認 sudo nginx -t # 反映 sudo systemctl reload nginx
5. SSL 設定の強度確認
設定後は SSL証明書インストールチェッカー で
中間証明書が正しくインストールされているか確認することをお勧めします。
また、外部ツール(SSL Labs Server Test 等)で TLS の設定強度を確認できます。
6. Go 言語 WebApp を Nginx でリバースプロキシする
Go 言語で作成した Web アプリ(例::8080 で動作)を Nginx 経由で公開する設定例です。
server {
listen 443 ssl;
server_name api.example.com;
ssl_certificate /etc/ssl/certs/your_domain_fullchain.crt;
ssl_certificate_key /etc/ssl/private/your_domain.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
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;
}
}
SSL証明書について
Nginx に設定する SSL証明書は、エスロジカルで低価格販売しています。
デジサート・サイバートラストの正規取扱代理店として、
2009年から16年以上、RapidSSL 3,960円/1年(税込)〜でSSL証明書を販売しています。審査サポート・インストール代行も対応しています。
RapidSSL(DV・低価格) / DV・OV・EV の違い / SSL証明書一覧 / インストール代行サービス
