공개적으로 액세스 할 수없는 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.