Nginx + IPv6

最近、Windows 7 / Vista / XPでのIPv6サポートに関するトピックを書きました( ここにあります )。 サイトがホストされているサーバーでIPv6をサポートしたかったのですが、最終的にはこれが起こりました。



私のサーバーはFreeBSDの下にあります。HE.netを使用してサーバー上のIPv6アドレスを取得しました。これは/etc/rc.confでこのトンネルを構成するための構成です。



ipv6_gateway_enable="YES" ipv6_enable="YES" gif_interfaces="gif0" gifconfig_gif0="_IP_ 72.52.104.74" ipv6_ifconfig_gif0="2001:470:1f04:***::2" #  IPv6 ipv6_defaultrouter="2001:470:1f04:***::1" #   HE.net  IPv6.
      
      





Webサーバー、IPv6アドレッシングのサポートについて質問がありました。 私はnginx + apache 2.2 bunchを使用していますが、nginx設定のサーバーの抜粋です:



 server { listen 80 default; listen [::]:80 default; server_name _; location /nginx_status { stub_status on; access_log off; allow all; } location / { proxy_pass http://127.0.0.1:81; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_send_lowat 12000; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar|tar.gz|zip|ico|swf|rss)$ { root /usr/local/www/static/$host; access_log off; expires off; } }
      
      





ご覧のとおり、 listen [::]という文字列が追加されました:80デフォルト; 。 これにより、nginxがすべてのIPv6アドレスをリッスンできるようになります。



デフォルトでは、このようなエントリは1つのサーバーセクションに追加できます。 これはおそらく、IPv6では各サイトがそのIPv6アドレスにあることを意味します。



各サーバー{}が独自のIPv6アドレスを持つためには、 listen [2001:470:1f04:*** :: 3]:80を追加する必要があります。 当然、メインインターフェイスのこのようなアドレスエイリアスにしがみつく必要があります。



次に、ホストされているドメインのDNSにエントリを作成する必要があります。



私はこのエントリを作成しました:



 * IN AAAA 2001:470:1f04:***::2
      
      





なぜなら 私はすべてのドメインを1台のサーバー上に持っていますが、各サイトにIPv6を発行することを本当に気にしませんでした。



IPv6ネットワーク-----------> IPv6 ServerIP ---------> 127.0.0.1 IPv4へのプロキシ(ApacheはIPv4の通常の設定で実行されます)。



合計で、これを登録したので、IPv6ネットワークからすべてのドメインの可用性を取得しました。



ServerAliasの各ドメインについて、Apacheはipv6サブドメインDomain_name.ruを登録しました。 さて、作成中のドメインのシンボリックリンクを作成しました(root / usr / local / www / static / $ host;を参照)。 このフォルダーには、サーバー上のすべてのドメインとサブドメインのシンボリックリンクがあります。



PSほとんどのホスティングプロバイダーとホスティングパネルは、そのままIPv6をサポートします。 ほとんどのドメインはあちこちで動作し、IPv6への移行はそれほど苦痛ではありません。



PS IPv6トラフィックがサイトに表示されたのは、おそらくディレクトリにIPv6をサポートするサイトが追加されたためです。



All Articles