본문으로 바로가기

Apache 웹 서버

category MLOps/Linux 2022. 2. 3. 16:30

1. Web Server

1) 소개

- 네트워크를 이용해서 사용자가 요청한 컨텐츠를 제공 (정적인 컨텐츠; html, image 등)

- 동적인 컨텐츠 제공 (별도의 구성 또는 어플리케이션 서버 / 데이터베이스 등을 연동) -> WAS

- Apache / Nginx / IIS 등의 구성방식이 존재

# 기본구성
# 패키지 설치
yum -y install httpd

# 시작
systemctl enable httpd.service
systemctl start httpd
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

# 확인
firefox http://127.0.0.1

2) 3 Tier 구성

- 클라이언트가 요청하면 응답해줄 웹서버

- 웹서버 동작에 필요한 어플리케이션 서버

- 어플리케이션이 동작할 때 사용할 데이터가 저장되어 있는 데이터베이스 서버

웹서버 구성 시 팁
1. 로드벨런서를 구성해서 웹서버 이중화
2. 웹서버를 통해서만 어플리케이션 서버에 접근할 수 있게 보안 설정
3. 어플리케이션을 통해서만 데이터베이스에 접근할 수 있게 보안 설정
4. 데이터베이스도 이중화 구성

 

3) Apache 서버 구성

- 설정파일: /etc/httpd 디렉토리

- 컨텐츠파일: /var/www 디렉토리

- 샘플파일: /usr/share/doc/http-XXX 디렉토리

 

2. 가상 호스트 구성

- 하나의 물리적인 서버에서 여러 컨텐츠를 IP주소/포트번호/DNS주소 등에 따라서 서로 다르게 제공

- /etc/httpd/conf.d/XXX.conf 파일 작성 -> 확인 순서는 가나다순

- 설정파일 내용물로는 ServerName, DocumentRoot, Directory 블록 등을 사용

- 일반적으로 이름 기반의 가상호스트를 사용 -> DNS서비스 제공 필수 (/etc/hosts 파일)

 

1) 이름 기반 (Name-base virtual host)

- cat /etc/httpd/conf.d/test.conf

- DocumentRoot는 각 가상호스트가 사용할 웹 페이지 파일의 경로

 

2) IP 기반 (IP-base virtual host)

- 웹 서버가 하나 이상의 네트워크 인터페이스를 가지고 있으면 인터페이스별로 들어온 요청 구분 가능

- 별도의 포트 지정이 없으면 기본 포트 80/TCP 포트 사용

- nmcli connection modify Static +ipv4.addresses 192.168.100.11/24로 포트 추가

 

3) 포트 기반 (Port-base virtual host)

- /etc/httpd/conf/httpd.conf 파일의 Listen 설정에 포트 설정을 추가해야함

- 방화벽 수정도 요구됨 (firewall-cmd --add-port=8080/tcp --permanent

 

3. HTTPS

- 데이터를 암호화 해서 주고받는 방식의 프로토콜

- 대칭키 / 비대칭키 암호화 방식을 이용 (하이브리드)

 

1) 동작 방식

가) Client Hello(클라): 웹 브라우저를 통해 https연결 요청

나) Server Hello(서버): 서버가 가지고 있는 인증서 전달 (공개키 포함)

다) 인증서 확인 및 대칭키 전송 (서버): 서버의 인증서 검증 & 공개키를 서버의 공개키로 암호화하여 전송

라) 컨텐츠 전송(서버): 서버의 개인키로 복호화 하여 획득 & 연결 종료 시 까지 모든 컨텐츠 대칭키로 암호화하여 전송

암호화 방식
원격접속: telnet -> ssh
파일전송: rcp -> scp
웹: http -> https

'MLOps > Linux' 카테고리의 다른 글

Storage (NFS, iSCSI)  (0) 2022.02.03
FreeIPA  (0) 2022.01.31
DHCP 서버  (0) 2022.01.30
DNS 서버 및 구축방법  (0) 2022.01.30
SELinux (리눅스 보안)  (0) 2022.01.29