CentOS Virtualbox에서 Apache에 액세스할 수 없습니다

CentOS Virtualbox에서 Apache에 액세스할 수 없습니다

저는 개발에 사용하는 Windows 대신 Linux 상자에서 모든 코드 등을 테스트할 수 있도록 CentOS로 VirtualBox를 설정하고 있습니다.

방금 SSH가 작동했습니다(localhost:2222에 SSH를 연결하고 이를 virtualbox 포트 22로 전달합니다).

웹 서버를 가동하고 실행하기 위해 Apache에서도 동일한 작업을 수행하려고 합니다.

localhost의 포트 8888을 CentOS Virtualbox의 포트 80으로 포트포워딩했지만 브라우저에서 localhost:8888을 사용하면 아무 것도 액세스할 수 없는 것 같습니다.

Apache도 확실히 실행 중입니다.

ps -e | grep httpd
2108? 00:00:00 httpd
2110? 00:00:00 httpd
2111? 00:00:00 httpd
2112? 00:00:00 httpd
2113? 00:00:00 httpd
2114? 00:00:00 httpd
2115? 00:00:00 httpd
2116? 00:00:00 httpd
2117? 00:00:00 httpd

IP테이블:

[root@CentOS /]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Fri Jan 27 18:26:36 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [32:2278]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Jan 27 18:26:36 2012

Nmap 출력:

[root@CentOS conf]# nmap localhost

2012-01-28 00:58 WST에 Nmap 5.21( http://nmap.org ) 시작
localhost(127.0.0.1)에 대한 Nmap 스캔 보고서
호스트가 작동 중입니다(0.0000090초 대기 시간).
호스트 이름 localhost는 3개의 IP로 확인됩니다. 127.0.0.1만 스캔됨
표시되지 않음: 993개의 닫힌 포트
항구 주 서비스
22/tcp SSH 열기
23/tcp 오픈 텔넷
25/tcp 오픈 smtp
80/tcp 오픈 http
111/tcp rpcbind 열기
443/tcp 열기 https
631/tcp 오픈 ipp

답변1

기본 CentOS 방화벽은 SSH에 포트 22만 허용한다고 생각합니다. 보호된 네트워크에서 VirtualBox VM을 실행하고 있다고 가정하므로 루트로 다음을 실행하여 방화벽을 비활성화하는 것이 안전합니다.

/etc/init.d/iptables stop

이는 Windows 호스트 시스템에서 포트 리디렉션을 수행하고 있다고 가정합니다. iptables로 리디렉션을 수행하는 경우 리디렉션도 종료됩니다. /etc/sysconfig/iptables를 게시하면 방화벽 구성을 살펴보고 시스템이 포트 80을 차단하고 있는지 확인할 수 있습니다.

답변2

CentOS7을 새로 설치하는 경우 Apache를 설치하고 서비스를 시작한 후 다음을 수행하십시오.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

이제 호스트에서 Apache에 연결할 수 있습니다.

답변3

localhost를 사용하지 말고 대신 IP 주소를 사용하십시오.

답변4

포트 8888에 다른 것이 있거나 Windows에 일부 방화벽(포함된 것 포함)이 있을 수 있습니다.

때로는 10번의 연결 이후처럼 로컬 MS-SQL 서버를 차단하기도 합니다. 상상할 필요가 없습니다. 방화벽 차단 로그를 찾아보세요.

+++

방화벽의 거부 로그를 보셨나요, 아니면 그냥 계속 외치셨나요? 대부분의 바이러스 백신은 대량 메일 발송 웜 및 기타 맬웨어를 동작별로 차단하려고 시도합니다. McAfee가 30분 안에 5개의 메일을 보낸 후 Thunderbird를 차단하는 것처럼....

관련 정보