<AI>
IPv6 環境で nginx を使ってウェブサーバーを動かすには、
設定ファイル(nginx.conf や各サイトの設定)の listen ディレクティブに [::]:ポート番号 を追加します。
これにより、IPv6 と IPv4 の両方、または IPv6 のみに対応させることができます。
設定方法
設定ファイルを開く(例: /etc/nginx/nginx.conf や /etc/nginx/conf.d/default.conf)
listen の行に IPv6 用の設定を書き足す
nginx を再起動して設定を反映する
具体的な設定例
IPv4 と IPv6 の両方で受け付ける場合は、以下のように両方を記述します。
nginx
server {
listen 80; # IPv4
listen [::]:80; # IPv6
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.em;
}
}
IPv6 のみで待ち受けたい場合は、IPv4 の行を消して IPv6 のみ残します。
nginx
server {
listen [::]:80 ipv6only=on; # IPv6 のみ
server_name example.com;
...
}
※ ipv6only=on を指定すると、IPv6 アドレスでのみ待ち受け、IPv4 の接続を共有しなくなります
(OSのデフォルト挙動に依存するため、環境に合わせて調整してください)。
反映と確認
設定を保存したら、エラーがないかテストして、nginx を新しく読み込み直します。
設定のテスト: sudo nginx -t
再起動: sudo systemctl restart nginx