以前の記事でnginxのIPv6対応を書いた。
しかし、設定上、
ipv6only=on
という記述は、1度しか書けないため、
virtualhostで複数運用している場合に、この設定は邪魔となる。
virtualhostで運用する場合が多いので、
最終的には以下のようにすればよいのではないだろうか。
/etc/nginx/nginx.conf
http { : : # serverディレクティブは書かない include /etc/nginx/conf.d/*.conf; }
/etc/nginx/conf.d/default.conf
server { listen 80 default_server; listen [::]:80 default_server; server_name localhost; : :
/etc/nginx/conf.d/your-ssl-vh.conf
server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; server_name your-ssl-vh; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key /etc/pki/tls/certs/server.key; : :
このように記載しておくと、your-ssl-vhホストでは、
ipv4、v6の、non-sslまたはsslでのlistenとなる。
non-sslサイトを生きにしつつ、sslも併用し、
念のためipv6対応も入れたいというケースはこのような対応となるだろう。
以上
コメントがあればどうぞ