Potrzebuję uruchomić Apache2 na moim serwerze Debian 7. Ale działa tylko na porcie tcpv6, a nie na porcie tcpv4. Zainstalowałem go z apt-get install. Jeśli przejdę na localhost lub 127.0.0.1 lub adres IPv4 mojego serwera, nie wyświetli żadnej witryny.
Mój /etc/apache2/ports.conf
:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
netstat -plntu
:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3558/sshd
tcp 0 0 0.0.0.0:3466 0.0.0.0:* LISTEN 2820/mysqld
tcp6 0 0 :::80 :::* LISTEN 2097/apache2
tcp6 0 0 :::22 :::* LISTEN 3558/sshd
debian
apache-httpd
Mato
źródło
źródło
Listen 80
TOListen 0.0.0.0:80
. Więcej informacji można znaleźć w dokumentacji httpd.apache.org/docs/2.2/bind.html .sudo iptables -nvL
isudo sestatus
? Myślę, że masz lokalną zaporę ogniową, która zapobiega.a2enmod php5
powinienem to dla ciebie zrobić.::
.Odpowiedzi:
Fakt, że netstat pokazuje tutaj tylko tcp6, nie stanowi problemu. Jeśli nie określisz adresu, na którym chcesz nasłuchiwać, apache będzie nasłuchiwał na wszystkich obsługiwanych rodzinach adresów za pomocą jednego gniazda (ze względów projektowych, sshd używa unikalnego gniazda na adres i rodzinę adresów, dlatego wyświetla się dwa razy na wyjściu netstat).
Oto jeden z moich systemów, pokazujący, że Apache ma tylko gniazda tcp6, a mimo to działa dobrze zarówno przez IPv4, jak i IPv6.
Co się stanie, jeśli uruchomisz
wget http://127.0.0.1/ -O -
serwer? Czy udało się to połączyć? Czy zwraca nieprzetworzony kod HTML dla Twojej witryny zgodnie z oczekiwaniami?źródło
INADDR_ANY
iIN6ADDR_ANY_INIT
. Ale dzisiaj widziałem naprawdę dziwne zachowanie. Bez zmian zapory, bez zmian Apache, ale zdalne hosty mogą się łączyć tylko przez IPv6 - co jest problemem dla tych, którzy nadal nie mają IPv6. Z pewnością coś wypracuję, ale masz całkowitą rację (choć wywołane przez ciebie wezwanie nie ma zastosowania w moim przypadku niestety).Będzie to obsługiwać tylko połączenia IPV4:
https://httpd.apache.org/docs/2.2/bind.html#ipv6
źródło
127.0.0.1 jest lokalny tylko dla komputera, musisz być na samym serwerze w przeglądarce, aby użyć lokalnego adresu IP / sprzężenia zwrotnego;
Być może zapora blokuje porty;
Upewnij się, że apache działa i działa poprawnie, sprawdź dzienniki błędów;
Sprawdź dwukrotnie wszystkie konfiguracje Apache;
Czy prowadzisz hosting z katalogu głównego www lub katalogu public_html użytkownika?
Sprawdź dwukrotnie właściciela i uprawnienia.
Prawie rok 2019 (Witamy w przyszłości):
Domyślnie większość świata używa ipv6, a jeśli zawiedzie, wraca do ipv4;
Mamy teraz tunele ipv4 nad ipv6 i vice-versa;
Większość systemów operacyjnych, programów, klientów i serwerów najczęściej robi to teraz;
Witamy w świecie, w którym nie ma już NAT-ów i musisz polegać teraz na zaporze ogniowej / filtrach bezpośrednio na urządzeniu;
Radziłbym starać się, aby wszystkie wasze systemy były w stosie podwójnym, obsługując jednocześnie ipv4 i ipv6, więc kiedy nastąpi magiczny przełącznik, nadal jesteś gotowy do pracy. Mój system operacyjny, sieć, nawet mój dostawca usług internetowych są zestawione w stosy. Mógłbym całkowicie wyłączyć ipv4, gdybym chciał, ale to, co tam jest, może już nie działać, jeśli nie istnieją tunele z powrotem do ipv6 z ipv4.
źródło
*
* reprezentuje połączenie z lokalnym serwerem bez obsługi IPv4 lub IPv6, jeśli zmienisz localhost (lub 127.0.0.1) na prawdziwy adres IPvv4 tego serwera, nie będziesz w stanie nic zapomnieć z powodu odmowy połączenia.
Spróbuj opisać swój adres IP w plikach konfiguracyjnych: NameVirtualHost: 80 Listen: 80
źródło