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 |