私のWebサーバー(Ubuntu、Nginx)には、ホストによって割り当てられたIPv4アドレスとIPv6アドレスの両方があります。私のウェブサイトでは、IPv6アドレスのみにバインドしますか?標準的な推奨方法ですか?または、IPv4アドレスとIPv6アドレスの両方を使用する必要がありますか?
私のWebサーバー(Ubuntu、Nginx)には、ホストによって割り当てられたIPv4アドレスとIPv6アドレスの両方があります。私のウェブサイトでは、IPv6アドレスのみにバインドしますか?標準的な推奨方法ですか?または、IPv4アドレスとIPv6アドレスの両方を使用する必要がありますか?
回答:
IPv4アドレスとIPv6アドレスの両方を使用する必要があります。
現在、インターネット上のほぼ全員がIPv4アドレスを持っているか、何らかのNATの背後にいて、IPv4リソースにアクセスできます。
しかし、執筆時点では、インターネットの約0.7% 2.3% 3.8% 6.5% 9% 12% 19% 22% 26%のみがIPv6に対応していますが、IPv6が世界中に普及し始めるにつれて、その数は着実に増加しています。
ごく少数の場所で、ISPは主に IPv6またはIPv6 のみを住宅の顧客に提供し、IPv4接続に大規模なNAT、NAT64またはその他のソリューションを使用しています。この数は、IPv4アドレス空間が使い果たされるにつれて増加することが予想されます。通常、これらのユーザーはIPv6よりも優れたパフォーマンスを発揮します。
ISPがIPv4の枯渇を解決するために大規模NATを展開している場合、これにこだわるユーザーは、大規模NATゲートウェイに固有の接続制限により、すべてのインターネット接続の信頼性が低下します。たとえば、Webページはすべてのリソースではなく一部のみをロードし、画像があるはずの場所に壊れたアイコンを残したり、スタイルやスクリプトが欠落したりします。これはホームルーターの接続制限の枯渇に似ていますが、 ISPは断続的かつ一見ランダムになります。これらのユーザーに対してサイトの信頼性を高めたい場合は、IPv6経由で提供する必要があります(ISPはIPv6を展開している必要があります)。
IPv6はインターネットの行き先であるため、WebサイトのIPv6を有効にすると、ゲームを先に進め、問題が深刻になるずっと前に問題を解決できるようになります。
Linuxおよびnginxのデフォルトでは、listen
ディレクティブを次のように変更することにより、IPv4とIPv6の両方に同時にバインドできます。
listen [::]:80;
listen 80;
または、SSLサイトの場合:
listen [::]:443 ssl;
listen 443 ssl;
A
レコードはIPv4アドレス用であり、AAAA
レコードはIPv6アドレス用です。
listen 443;
も持っているssl
だけのようにlisten [::]:443 ssl;
?のlisten 443 ssl;
代わりにlisten 443;
。
両方にバインド!
クライアントが使用したDNS名を使用して、自身の内部参照を行うコードを持つIIS Webサイトがありました。このプロセスは常に失敗します。
もう1つの症状は、サーバー上でローカルに実行されているブラウザーが、サーバーの名前ではなく、IPv4アドレスのみでWebサイトを見つけることができなかったことです。つまり、http://192.168.55.139
動作しますが、http://myhost
失敗します。を使用ping myhost
すると、デフォルトでIPv6アドレスping myhost -4
が返されます(IPv4アドレスが返されます)。
修正は、IISを開き、Webサイトのバインドを変更して、IPv4アドレスと同様にIPv6アドレスにバインドすることでした。
Winnovative HTML to PDF Converter
。
Host
属していないドメイン名のヘッダーを送信することは完全に可能です。