공개적으로 액세스 할 수없는 Apache 웹 서버


2

데비안 (Jessie, 8) 데스크톱에서 실행되는 Apache (2.4.10) 웹 서버가 있습니다.

데스크탑에 고정 로컬 IP 주소 (192.168.xx)가 있으며 내 ISP (공개) IP 주소도 ISP에 의해 수정되었습니다 (82.xxx). 이 데스크탑에 포트 80을위한 포트 포워드가 추가되었습니다.

LAN에서 웹 페이지에 문제없이 액세스 할 수 있지만 집 안팎에서 WAN 주소를 사용하여 웹 페이지에 액세스 할 수 없습니다. Chrome에서 "웹 페이지를 사용할 수 없습니다-ERR_CONNECTION_REFUSED"가 표시됩니다. WAN 주소 (다른 포트)를 사용하여 라우터를 열 수 있습니다.

웹 페이지 자체는 Hello World에서 "index.html"을 넘지 않습니다.

iptables 방화벽을 켜려고 시도했지만 작동하지 않았습니다. 나는 80과 다른 포트를 시도했지만 작동하지 않았습니다. ISP가 호출했으며 포트 80이 차단되지 않았습니다. 나는 이미 나 자신을 미쳤다. 누구나 사이트에 액세스하는 방법에 대한 제안이 있습니까?


WAN에서 데스크탑으로 nmap 또는 netcat을 시도 했습니까? (아마도 LAN 내부에서 동일한 것과 비교할 수 있습니다). 첫 번째 의심은 포트 포워딩이 어떤 이유로 작동하지 않는다는 것입니다. 포트 포워딩이 작동하는지 테스트하기 위해 22뿐만 아니라 데스크탑으로 포워딩하고 WAN에서 머신으로 ssh하려고 시도 할 수 있습니다.
— jhaagsma

데스크탑으로 SSH 할 수도 없었습니다. 포트 포워드에서 잘못된 설정을 사용하고있는 것으로 나타났습니다.
— Roberto

답변:


1

나는 그것을 해결했다!

Moonpoint 덕분에 문제가 포트 포워딩에 있다는 것을 깨달았습니다. 다시 한 번 살펴보고 포트 80 규칙의 경우 "WAN 인터페이스"가 "ADSL"(기본값)로 설정되어 있음을 알았습니다. 나는 그것이 무엇을 의미하는지 모르므로 결코 바꾸지 않았습니다. 다른 옵션을 시도하고 "ETHWAN"으로 설정하면 문제가 해결되었습니다. 이제 웹 페이지에 공개적으로 액세스 할 수 있으며 no-ip DDNS도 추가했습니다.

편집 : 이제 ETHWAN WAN 인터페이스는 ISP가 라우터에 추가 한 인터페이스이며 glas 광섬유 연결 인터페이스라는 것을 알게되었습니다.


0

iptables 방화벽을 끄려고했지만 실패했지만 iptables 방화벽을 비활성화했지만 외부 IP 주소에서 웹 서버에 연결할 수 없거나 호스트를 비활성화 할 수 없다는 의미입니까? IPtables 방화벽? 웹 사이트의 Apache 액세스 및 오류 로그를 확인하여 외부 IP 주소에서 시스템에 액세스하려는 시도가 해당 파일 중 하나에 기록되어 있는지 확인하십시오. Apache /etc/httpd/conf/httpd.conf파일을 확인하십시오 . 파일의 다음 위치와 비슷한 섹션이 있습니까?

<Directory /home/www/example>
      Order Deny,Allow
      Deny from all
      Allow from 192.168 127.0.0.1
 </Directory>

위의 예에서 로컬 호스트 주소 127.0.0.1 을 제외한 모든 호스트 와 동일한 LAN에있는 시스템 (192.168.xxx.xxx)에서의 액세스는 허용되지 않습니다. 전 세계에서 서버에 액세스 할 수있게하려면 "모두 거부"가 부적절합니다.

데비안 Linux 시스템 에서 tcpdump 명령을 사용하여 네트워크 장비가 개입하지 않는 경우 Apache 웹 서버 또는 포트 전달을 설정 한 라우터를 실행중인 데비안 시스템으로 문제를 격리 할 수 ​​있습니다 . 명령 tcpdump -i any port 80을 루트로 실행하십시오. 그러면 tcpdump가 다른 트래픽을 무시하고 인터페이스의 포트 80에 대한 연결 만 찾게됩니다. 그런 다음 외부 주소에서 웹 서버에 연결하십시오. tcpdump가 Linux 시스템에 도달하는 포트 80으로의 트래픽을 표시하면 포트 전달이 올바르게 작동하는 것입니다. 포트 전달에 문제가 없을 경우 웹 서버의 올바른 IP 주소로 포트 80을 전달하고 있는지 다시 확인하십시오.


당신의 답변에 감사드립니다. 나는 방화벽을 종료 할 수 있다고 생각했지만 (혀를 따랐다) 문제가 해결되지 않았다. httpd.conf아파치에서는 더 이상 사용되지 않습니다. 비록 <Directory>조금을 찾을 수 있지만 Apache2.conf. "모두 거부"와 같은 문구 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>는 없었습니다. dcpdump를 시도했는데 실제로 외부 IP 호출이 등록되지 않았습니다. 서버를 정상적으로 열면 업데이트가 발생합니다. 그러나 저는 포트 80을 전달할
— Roberto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.