2017-07-19 119 views
0

我在AWS上託管我的應用程序,使用ubuntu 14.04 我可以達到我的應用程序與ipv4沒有任何問題, ,但是當我試圖達到我的應用程序與ipv6,連接超時。如何在ubuntu apache2中正確啓用ipv6?

基本上,我想我的應用程序可達IPv4和IPv6(雙棧)

,我過我的域名與

http://ipv6-test.com/validate.php

我可以看到我的AAAA記錄,但IPv6網絡服務器無法訪問:連接超時

我相信它與apache2設置有關,所以我這樣做:

port.conf

Listen xxx.xxx.xx.xxx:80 
Listen [xxxx.xxxx.xxx.xxxx.xxxx.xxxx.xxxx.xxxx]:80 

Listen xx.xxx.xx.xxx:443 
Listen [xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx]:443 

也試過

Listen [::]:80 
Listen [::]:443 

網站可用/ 000-default.conf

<VirtualHost xx.xxx.xx.xxx:80 [xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx]:80> 

也試過

<VirtualHost *:80> 

但沒有任何工程......請指教......我被困...我需要它的工作原理。

注:我可以ping和telnet

ping6 google.com/ping6 facebook.com

的telnet -6 mydomain.com

所以我的IPv6已經開始工作,它只是我的網絡服務器無法通過ipv6訪問。這裏

更新的結果是:

使用ifconfig

eth0  Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx 
      inet addr:xxx.xx.xx.xx Bcast:xxx.xx.xx.xxx Mask:255.255.240.0 
      inet6 addr: xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx/128 Scope:Global 
      inet6 addr: fe80::xxx:xxxx:xxxx:xxxx/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 
      RX packets:9804 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:6068 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:5188772 (5.1 MB) TX bytes:839405 (839.4 KB) 

lo  Link encap:Local Loopback 
      inet addr:127.0.0.1 Mask:255.0.0.0 
      inet6 addr: ::1/128 Scope:Host 
      UP LOOPBACK RUNNING MTU:65536 Metric:1 
      RX packets:177 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:0 
      RX bytes:17149 (17.1 KB) TX bytes:17149 (17.1 KB) 

netstat的-tulpn |的grep:80

tcp6  0  0 :::80     :::*     LISTEN  3658/apache2 

的telnet -6 :: 1 80

Trying ::1... 
Connected to ::1. 
Escape character is '^]'. 

的telnet -6 MYDOMAIN。COM 80

Trying xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx... 
Connected to mydomain.com. 
Escape character is '^]'. 

回答

1

應該開箱與Listen 80<VirtualHost *:80>,提供您的IPv6與您的網絡接口之一相關聯。

使用ifconfig可以列出它們,並查看當前IPv4是否也有IPv6。

通常情況下,你應該看到類似:

 inet addr:X.X.X.X Bcast:X.X.X.X Mask:X.X.X.X 
     inet6 addr: X:X::X:X:X:X/64 Scope:Global 
     inet6 addr: X::X:91ff:91ff:91ff/64 Scope:Link 

inet addr是當前的IPv4公網

但是這可能是因爲你可以telnet -6域的情況。

您可以檢查阿帕奇通過發出以下命令對TCP6監聽:

netstat -tulpn | grep :80

最後,我想請檢查是否有防火牆設置防止數據的IPv6達到80端口

+0

直升機,我已經更新我的帖子與你的建議的結果,你能告訴我哪部分是錯誤的?提前致謝。 是的我可以telnet我的域名,我做了ssh到我的服務器和telnet服務器本身與telnet -6我的域名,如果telnet工作,這意味着沒有防火牆問題? CMIIW。 – NomNomNom

+0

如果telnet工作,它意味着你沒有在端口23上的任何防火牆問題。這並不意味着端口80是好的。 – Capsule

+0

從服務器上,嘗試'telnet -6 :: 1 80'。如果它連接,輸入任何內容,它應該給你一個'400錯誤請求'HTML頁面。這意味着Apache是​​好的;-) – Capsule

相關問題