![CentOS에서 웹 서버 설정 문제](https://linux55.com/image/24163/CentOS%EC%97%90%EC%84%9C%20%EC%9B%B9%20%EC%84%9C%EB%B2%84%20%EC%84%A4%EC%A0%95%20%EB%AC%B8%EC%A0%9C.png)
내 컴퓨터 중 하나(Dell 데스크탑)에 웹 서버를 설정하고 CentOS를 운영 체제로 사용하기로 결정했습니다. Apache가 올바르게 설치되었습니다. (제 생각에는 pgrep httpd가 실행 중인 프로세스를 여러 개 반환하는 것 같습니다.) 나는 또한 내 httpd.conf 파일이 괜찮다고 생각합니다(아파치 설정에 대한 약 4개의 튜토리얼을 읽었습니다). 내 ISP는 Comcast입니다. 내 httpd는 포트 80과 8080을 수신합니다.
그러나 그것은 작동하지 않으며 그 이유를 이해하지 못합니다. 내 test.html 페이지(/var/www/html/에 위치)를 보려고 하는데 http 오류 504가 표시되는 친구가 있는데, 이는 프록시나 방화벽과 관련이 있는 것으로 보입니다. 그 중 나는 가지고 있습니다.
몇 가지 질문이 있습니다. 1) 외부 친구가 내 웹페이지를 보려고 하지 않고도 내 설정을 테스트할 수 있는 방법이 있습니까? 로컬 주소(192.168.1.5)를 URL로 사용하면 서버에 있는 내 브라우저에서는 페이지를 잘 볼 수 있지만 내 네트워크(192.168.1.3)에 있는 다른 컴퓨터의 브라우저에서는 이 페이지를 볼 수 없습니다. 2) 웹서버를 운영하기 위해서는 정확히 무엇이 필요한가요? 올바르게 구성된 아파치입니까? PHP나 SQL 기능이 필요하지 않다고 가정해 보겠습니다. 3) Comcast가 어떻게든 시스템을 망쳤을 가능성이 있습니까? 4) 내 라우터가 어떤 식으로든 시스템을 망칠 가능성이 있습니까(그렇다면 볼 수 없습니까)?
내 httpd.conf 파일을 추가할 수 없는 것 같습니다. 너무 길기 때문에 여기에 잘라내어 붙여넣고 싶지 않습니다(댓글을 제거한 경우에도).
답변1
기본적으로 CentOS의 방화벽(iptables)은 포트 80에서 들어오는 트래픽을 허용하지 않도록 설정되어 있습니다.
포트 80에서 들어오는 트래픽을 허용하려면 다음 명령을 실행하십시오.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
그런 다음 다음 명령을 실행하여 구성을 저장합니다.
/sbin/service iptables save
이 명령은 루트로 실행해야 합니다. 변경 사항을 적용하기 위해 서비스를 다시 시작할 필요가 없습니다.
CentOS iptables에 대한 자세한 내용은 CentOS.org 위키에서 확인할 수 있습니다.수행하는 방법부분.
친구가 연결할 수 없는 경우:
라우터가 그를 차단할 가능성이 높습니다. Comcast 케이블 모뎀도 그를 차단할 수 있습니다.
기본적으로 대부분의 라우터는 DHCP 및 라우팅을 사용하도록 설정되어 있습니다. 이는 라우터가 자체 IP 범위, 서브넷 마스크 및 게이트웨이를 기반으로 컴퓨터에 내부 IP 주소를 할당했음을 의미합니다. ISP가 할당한 IP 주소의 모든 트래픽은 라우터를 통해 DHCP를 통해 라우터가 컴퓨터에 할당한 IP 주소로 라우팅됩니다.
포트 8080의 외부 소스로부터의 트래픽이 라우터를 통과하도록 허용하려면 지정된 포트의 외부 소스에서 라우터가 할당한 IP 주소로 포트 전달을 설정해야 합니다. 이는 라우터 구성에서 수행됩니다.
또 다른 방법은 컴퓨터를 DMZ(비무장지대)에 배치하는 것입니다. 이렇게 하면 컴퓨터로 들어오고 나가는 모든 트래픽이 필터링되지 않고 필터링됩니다. 이는 보안상 큰 위험이 있으므로 권장되지 않습니다. 그러나 이 설정은 원하는 경우 라우터 구성에서도 공통적으로 적용됩니다.
답변2
1) 서버가 localhost의 연결만 허용하도록 구성되었을 수 있습니다. 지시문의 구성을 확인하십시오 allow
. 웹 콘텐츠 디렉터리에 대한 공개 액세스를 제한할 수 있습니다. 매우 가능 /var/www
하거나 /srv/www
. 들어오는 웹 액세스를 차단할 수도 있습니다 iptables
.
2) 간단한 HTML Apache이면 충분합니다. 나는 그것이 여전히 인터넷에서 지배적인 웹 서버라고 믿습니다.
3) Comcast와 같은 ISP에서는 포트 80에 대한 액세스를 차단하는 것이 일반적입니다. ISP는 일반적으로 포트 8080에 대한 액세스를 차단하지 않습니다.
4) 친구가 인터넷에서 연결할 수 있도록 하려면 포트 8080 및/또는 포트 80을 웹 서버(192.168.1.3)로 포트 포워딩해야 합니다. 두 주소가 WiFi를 사용하여 연결되고 격리가 활성화된 경우 로컬에서 문제가 발생할 수 있습니다.
다음 설정을 사용하면 아래 콘텐츠에 액세스할 수 있습니다 /var/www
. 또한 일부 옵션도 활성화됩니다. 구성에 비슷한 것이 있어야 합니다.
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
답변3
iptables(방화벽)라고 생각되면 service iptables stop
동일한 서브넷에 있는 컴퓨터에서 가져올 수 없는지 찾아보세요.
친구가 Comcast, AT&T(동적 IP)와 같은 간단한 ISP를 통해 집 환경에서 웹 페이지에 액세스할 수 있도록 허용하려면 다음을 수행하세요.
- 현재 공용 IP 주소를 찾으세요.
- 동일한 IP 주소를 수신하도록 웹 서버에 대한 DHCP 예약을 설정하십시오.
- 포트 80 트래픽을 내부 웹 서버로 전달하려면 라우터에서 포트 전달을 설정하십시오.
답변4
라우터 문제인 것 같습니다. 동일한 네트워크에 있는 다른 컴퓨터에서 페이지를 볼 수 있도록 하려면 라우터 페이지에서 포트를 전달할 수 있는지 확인하세요. 귀하의 경우에는 아마도