Windows 방화벽에 포트 80이 열려 있지만 Apache가 연결되지 못하게 함


11

매우 중요한 페이지를 제공하는 Windows 7 시스템이 있습니다. 포트 80 *으로가는 트래픽을 허용하는 예외가 있지만 Apache 2.2는 여전히 페이지를 제공 할 수 없습니다 (시스템 자체에서 볼 수는 있지만). 그래도 Windows 방화벽을 완전히 비활성화하면 상자를 핑하고 페이지를로드 할 수 있습니다.

Apache가 작업을 수행 할 수 있도록 구성해야 할 다른 사항은 무엇입니까?

* 실제로 예외를 80이 아닌 "모든 포트"로 변경하더라도 동일한 문제가 발생합니다.


3
1. Ping을 서비스 테스트 도구로 사용하지 마십시오. 호스트를 ping 할 수 있는지 여부는 웹 사이트가 실행 중이고 액세스 가능한지 여부와 관련이 없습니다. 2. Windows 방화벽에서 어떤 네트워크 프로파일이 활성화되어 있고 어떤 네트워크 프로파일이 규칙에 구속됩니까?
joeqwerty

@ joeqwerty : 추가 정보를 제공하기 위해서만 핑을 언급합니다.
찰스

답변:


10

방화벽에서 포트 80이 열려 있는지 여부가 Apache가 올바르게 실행되고 있으면 ping이 작동하기 시작한다는 의미는 아닙니다. Ping은 시스템에서 ping 응답을 받기 위해 방화벽에서 열어야하는 자체 프로토콜 인 ICMP를 사용합니다. 따라서 아파치 구성 / 방화벽 구성이 작동하는지 확인하기 위해 ping에 의존하지 마십시오.

tcp 80에 대한 방화벽 규칙에 따라 규칙 속성으로 이동하여 3 개의 확인란 (도메인, 개인, 공개)이 모두 선택되어 있는지 확인하고 그렇지 않은 경우 확인하십시오. 여기에 이미지 설명을 입력하십시오

다음은 Windows 7에서 열린 포트 (80)에 순서대로 수행해야 정확한 단계와 HOWTO는 다음과 같습니다 링크

최신 정보:

Windows 방화벽으로 아파치 프로세스 자체를 차단하지 않는지도 확인하십시오.
1. 제어판으로 이동합니다
. 2. 시스템 및 보안을 선택 합니다.
3. Windows 방화벽 섹션에서 Windows 방화벽을 통한 프로그램 허용을 선택 합니다.
여기에 이미지 설명을 입력하십시오
4. 응용 프로그램 이름 왼쪽에있는 상자를 선택 취소하면 네트워크 자원에 액세스 할 수없고 체크하면 액세스가 허용됩니다.
여기에 이미지 설명을 입력하십시오
Apache가 목록에 없으면 다른 프로그램 허용 ... 버튼을 클릭하여 추가 한 다음 가정 / 직장 및 공개 아래의 확인란 을 선택할 수 있습니다 .


세 가지 모두 확인됩니다. 웹 사이트는 브라우저에서 열리지 않습니다 (서버 자체 제외).
찰스

1
@Charles :이 경우 다음 5 가지를 수행하십시오. 1. Windows 7 컴퓨터에서 방화벽 로깅을 활성화합니다. 2. Windows 7 시스템에 패킷 캡처 프로그램을 설치하십시오. 3. 캡처를 시작하십시오. 4. 다른 컴퓨터에서 웹 사이트를 찾아보십시오. 5. 캡처를 중지하고 진행 상황에 대한 힌트가 있는지 방화벽 로그와 방화벽 로그를 검사하십시오.
joeqwerty

Inbound Rules왼쪽 창에서 규칙을 만들었 습니까?
George Tasioulis

@Charles 내 업데이트를 확인하십시오.
George Tasioulis

1
@ 조지 : 그게 다야. "아파치 서버 모니터링"(포트 80 예외 제외)을 허용하면 작동합니다.
찰스

2

"브랜치 캐시"서비스를 확인하고 실행중인 경우 중지하십시오.


1

방화벽을 비활성화하면 문제가 완전히 해결되지만 예외 규칙이 적용되지 않으면 예외가 잘못되었다고 말할 수 있습니다.

Microsoft에 따르면 방화벽 문제 해결의 첫 번째 단계는 활성 프로필 (공개, 개인 또는 도메인)을 확인하는 것입니다.

Windows 방화벽 문제 해결의 첫 번째 단계는 활성화 된 프로필을 확인하는 것입니다. 고급 보안 기능을 가진 Windows 방화벽은 네트워크 위치 인식 응용 프로그램입니다. 컴퓨터가 연결된 네트워크 위치가 변경되면 Windows 방화벽 프로필이 변경됩니다. 프로파일은 활성 네트워크 연결의 네트워크 위치 유형에 따라 적용되는 Windows 방화벽 설정 및 규칙을 설명합니다.

따라서 한 가지 가능성은 올바른 규칙을 만들었지 만 잘못된 프로필로 작성하는 것입니다.

희망이 도움이됩니다.


좋은 생각, +1 이것은 결국 내 문제가 아니지만 누군가이 실수를하는 것을 볼 수 있습니다.
찰스

0

httpd.conf가 아마도 로컬 호스트 또는 로컬 서브넷의 클라이언트로 제한 될 수 있습니다.

httpd.conf 세트에서 :

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

그리고 아마도 이것도 :

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>

방화벽을 끄면 문제가 해결되므로 문제가 아닙니다. (또한 Win7로 업그레이드하기 전에 동일한 httpd.conf가 몇 년 동안 정상적으로 작동했습니다.)
Charles Charles

0

방화벽은 귀하의 동의 없이는 새로운 연결로 정보를 공유 할 수 없습니다. 할 일은 방화벽에 동의하는 것입니다.

  1. 제어판에서 방화벽 설정으로 이동
  2. 고급 설정을 클릭하십시오
  3. 인바운드 규칙을 클릭하고 새 규칙을 추가하십시오.
  4. 포트에 '규칙 유형'을 선택하십시오.
  5. 모든 프로그램에 허용하십시오.
  6. 이 규칙을 모든 프로필 (예 : 도메인, 개인, 공개)에 적용 할 수 있습니다.
  7. 이 규칙에 이름을 지정하십시오.

그게 다야. 이제 동일한 네트워크에 연결된 다른 PC 및 모바일이 로컬 사이트에 액세스 할 수 있습니다. 개발을 시작할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.