티스토리 뷰

수업 노트/정보통신

인터넷 동작 원리 실습 #4

오리지날초이 2023. 5. 30. 00:00

지난 시간에 설치한 웹서버와 웹페이지 경로와의 관계를 알아보겠습니다.

 

아파치 설치 폴더 밑에 htdocs 라는 하위 폴더가 있습니다.

이 폴더가 우리가 설정파일 httpd.conf 에서 확인한 웹문서 기준 디렉토리입니다.

 

웹문서 기준 디렉토리가 어떤 의미인지 실습을 따라하며 알아봅시다.

웹문서 기준 디렉토리는 이제 줄여서 웹폴더 라고 부르겠습니다.

 

웹폴더 htdocs 밑에 aaa와 bbb 라는 빈 폴더를 만들어줍니다.

(htdocs 는 아파치 기본 설치 위치대로면 c:\apache24\htdocs 에 위치합니다)

 

하위 폴더 aaa 밑에 아래 내용의 a.html 을 간단히 작성합니다.
 
 
 
a.txt 로 저장되지 않게 모든파일 저장(*.*) 을 통해서 꼭 a.html 로 저장해주세요.
 

 

a.html 작성을 완료했으면

아까 만들어둔 htdocs\bbb 폴더 밑에 b.html 을 새로 작성합니다.

 
 
마찬가지로 모든파일 저장(*.*) 을 통해서 b.html 로 꼭 다른이름 저장하세요
 
 

이제 웹브라우저에서 localhost/aaa/a.html 로 접속을 하면
실제 aaa 폴더 밑에 우리가 만들어둔 a.html 에 접근할 수 있습니다.

 

마찬가지로 localhost/bbb/b.html 로 접속 가능합니다.

 

우리가 htdocs 폴더 밑에 만들어둔 bbb 폴더의 b.html 파일과

웹브라우저의 도메인 localhost/bbb/b.html 이 정확히 일치하는 것을 확인할 수 있습니다.

 

수업 초반에 웹서버는 웹접속(http)을 받아주는 디렉토리와 웹페이지의 모임이라는 것이

이제는 이해가 될 것 입니다.

 
 
 
그렇다면 잘 못된 경로를 입력하면 어떻게 될까요?
 
localhost/bbb/a.html 로 접속을 시도해봤자
우리의 웹폴더는 해당 경로에 해당 파일이 존재하지 않습니다.
 
따라서 파일을 찾을 수 없다는 에러메세지가 표시되는 것입니다.
이런 에러메세지는 웹서버가 자동으로 판단하고 접속자(클라이언트)에게 내보내 주는 것입니다.
 
 
 
aaa 폴더 밑에 파일명이 아닌 그냥 aaa 폴더까지만 웹주소로 입력해보겠습니다.
 
aaa 폴더 자체만으로도 웹접속이 가능한 것을 확인할 수 있습니다.
 
이는 웹서버의 디렉토리 리스팅 기능이 기본으로 활성화 되어 있기 때문인데
사실 보안적으로는 권장하지 않는 기능입니다.
 
웹디렉토리까지 주소를 입력했는데 상위 디렉토리(Parent Directory) 로 연결이 가능하고
해당 폴더에 존재하는 파일 목록(index) 이 다 보이면 
오히려 잘못된 접근이나 이상 접근으로 악용될 여지가 더 많기 때문입니다.
 
 
 
 

 

localhost/aaa 로 들어가면 새로 만든 111.txt 를 포함한 디렉토리 인덱스가 나타납니다.

 

동일한 폴더에 index.html 파일을 만들어줍니다.

 

내용은 아주 간단하게 기재하겠습니다.

 

그리고 아까와 동일하게 localhost/aaa 로 들어가면

이전과는 다르게 디렉토리 리스트가 나오지 않고 index.html 페이지가 나타납니다.

 

이것은 웹서버가 index 라는 이름으로 지정된 웹페이지(.html 등) 는

해당 디렉토리의 대문 페이지로 인식하고 자동으로 사용자(클라이언트) 에게 나타내주기 때문입니다.

 

실제로 우리가 naver.com 을 접속하면 네이버 포털이 자연스럽게나타나는데

사실은 naver.com 웹서버의 최상위 폴더에 위치한 index.html 페이지를 자동으로 보여주는 것과 같은 원리입니다

 

확인을 위해서 index.html 이 저장되어 있지 않은 bbb 폴더 경로로 웹속을 시도하면

아까와 같이 index 페이지가 나타납니다.

 

 

부가적으로 index 페이지가 나타나는 것을 비활성화 시키려면 

아파치 설정파일인 httpd.conf 에 적용된 옵션값을 편집해서 디렉토리 리스팅 비활성화를 적용할 수 있습니다.

 

httpd.conf 에서 Options Indexes FollowSymLinks 항목을 찾아서 Indexes 를 지워줍니다.

저는 원본 옵션은 주석처리하고 

새 옵션으로 Options FollowSymLinks 을 추가 기입했습니다.

 

변경사항을 저장하고 웹서버 서비스를 재시작해줍니다.

 

그리고 아까와 같은 방식으로 디렉토리 경로로 되어있는 웹주소로 접속하면

이전과는 다르게 권한이 없어서 접근 금지되었다는 에러 메세지를 볼 수 있습니다.

728x90
반응형

'수업 노트 > 정보통신' 카테고리의 다른 글

인터넷 동작 원리 실습 #5  (0) 2023.06.12
인터넷 동작 원리 실습 #3  (0) 2023.05.22
인터넷 동작 원리 실습 #2  (0) 2023.05.17
인터넷 동작 원리 실습 #1  (0) 2023.05.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함