Ubuntu 24.04 nginx SSL/TLSの設定方法

環境
Ubuntu 24.04
nginx

デフォルトサイトに対して SSL/TLS を有効化します。
# vi /etc/nginx/sites-available/default
# 最終行に追記

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.arkgame.com;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
       
       # 証明書のパスは取得した自身の環境に置き換える
ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
location / {
try_files $uri $uri/ =404;
}
}
server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name www.arkgame.com; root /var/www/html; index index.html index.htm index.nginx-debian.html;                # 証明書のパスは取得した自身の環境に置き換える ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem"; ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; location / { try_files $uri $uri/ =404; } }
server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  www.arkgame.com;
       root         /var/www/html;
       index index.html index.htm index.nginx-debian.html;
       
       # 証明書のパスは取得した自身の環境に置き換える
       ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem";
       ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;

       location / {
              try_files $uri $uri/ =404;
       }
}

nginxを再起動します。
# systemctl reload nginx

HTTP リクエストも全て HTTPS へリダイレクトして Always on SSL とする場合
はホスト定義にリダイレクトの設定を追記します。
# vi /etc/nginx/sites-available/default

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 80 をリスンしている定義内に追記
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
# 80 をリスンしている定義内に追記 server { listen 80 default_server; listen [::]:80 default_server; return 301 https://$host$request_uri;
# 80 をリスンしている定義内に追記
server {
        listen 80 default_server;
        listen [::]:80 default_server;
        return 301 https://$host$request_uri;

# systemctl reload nginx

IT

Posted by arkgame