내 설정은 다음과 같습니다. Oracle Linux 7이 설치된 VM을 실행하고 있습니다. 나는 아파치를 시작했고 service httpd start
문제없이 시작되었습니다. 와 index.html
에 모두 파일을 만들었습니다 . 또는 을 사용하여 호스트 컴퓨터에서 VM에 연결할 수 있지만 웹 브라우저를 열고 IP 주소로 이동하면 서버가 응답하지 않습니다./var/www/html
/var/www
ping
ssh
확인해 netstat -plent
보니 포트 80이 수신 대기 중인 것으로 표시됩니다.
# netstat -plent
tcp6 0 0 :::80 :::* LISTEN 0 121584 36432/httpd
나는보았다~에여러 개의 답변iptables가 문제일 수 있음을 시사하지만 해당 솔루션 중 어느 것도 도움이 되지 않았습니다. 또 무엇이 문제를 일으킬 수 있나요?
답변1
답변2
netstat 출력을 통해 IPv6에서만 수신 대기하고 있습니다.
IPv6만 사용하여 웹 사이트에 액세스하거나 0.0.0.0:80을 수신하도록 Apache에서 다른 리스너 지시문을 생성해야 합니다. httpd.conf에서:
Listen 0.0.0.0:80
물론 트래픽을 제공하려는 IP 주소에서만 수신 대기할 수 있습니다.
하지만 Linux에서 듀얼 스택 소켓을 지원하는 경우에는 이 조언이 옳지 않습니다. 듀얼 스택 청취가 켜져 있는지 확인하기만 하면 될 수도 있습니다. procfs를 사용하여 다음 파일을 확인하십시오.
/proc/sys/net/ipv6/bindv6only
0이 아닌 경우 구성에서 0으로 변경하거나 IPv4를 명시적으로 수신해야 합니다.
또한 방화벽 규칙을 확인하세요. ipv4 또는 ipv6에서 트래픽을 거부하는 경우 설명이 됩니다. 여기를 확인하세요:
iptables -t filter -nvL INPUT
ip6tables -t filter -nvL INPUT
기본 정책이 ACCEPT가 아니고 HTTP 트래픽을 허용하는 규칙이 없거나 이를 차단하는 규칙이 있는 경우 설명됩니다.