15.3. 웹 서버
15.3.1. Apache HTTP Server에서 주요 변경 사항
Apache HTTP Server 가 RHEL 7의 2.4.6 버전에서 RHEL 8의 2.4.37 버전으로 업데이트되었습니다. 이 업데이트된 버전에는 몇 가지 새로운 기능이 포함되어 있지만 외부 모듈 구성 및 ABI(Application Binary Interface) 수준에서는 RHEL 7 버전과의 역호환성을 유지합니다.
새로운 기능은 다음과 같습니다.
-
HTTP/2
지원은 이제httpd
모듈의 일부인mod_http2
패키지를 통해 제공됩니다. -
systemd 소켓 활성화가 지원됩니다. 자세한 내용은
httpd.socket(8)
도움말 페이지를 참조하십시오.
여러 새 모듈이 추가되었습니다.
-
mod_proxy_hcheck
- 프록시 상태 확인 모듈 -
mod_proxy_uwsgi
- WSGI(Web Server Gateway Interface) 프록시 -
mod_proxy_fdpass
- 클라이언트의 소켓을 다른 프로세스에 전달하는 기능을 제공 -
mod_cache_socache
- HTTP 캐시 (예: memcache 백엔드를 사용) -
mod_md
- ACME 프로토콜의 SSL/TLS 인증서 서비스
-
이제 기본적으로 다음 모듈이 로드됩니다.
-
mod_request
-
mod_macro
-
mod_watchdog
-
-
디렉터리에 대한 올바른 권한을 포함하여 Apache HTTP Server의 기본 디렉터리 레이아웃이 포함된 새 하위 패키지
httpd-filesystem
이 추가되었습니다. -
인스턴스화된 서비스 지원
httpd@.service
가 도입되었습니다. 자세한 내용은httpd.service
도움말 페이지를 참조하십시오.
-
새
httpd-init.service
는 자체 서명된mod_ssl
키 쌍을 생성하기 위해%post script
를 대체합니다.
-
ACME(Automatic Certificate Management Environment) 프로토콜을 사용하는 자동화된 TLS 인증서 프로비저닝 및 업데이트가 이제
mod_md
패키지와 함께 지원됩니다(Let’s Encrypt
와 같은 인증 기관을 통해 사용). -
이제 Apache HTTP Server에서는
PKCS#11
모듈에서 직접 하드웨어 보안 토큰의 TLS 인증서 및 개인 키를 로드하는 기능을 지원합니다. 결과적으로 이제mod_ssl
구성에서PKCS#11
URL을 사용하여 TLS 개인키를 식별할 수 있으며, 선택적으로SSLCertificateKeyFile
및SSLCertificateFile
지시문으로 TLS 인증서를 식별할 수 있습니다. /etc/httpd/conf/httpd.conf
파일에 있는 새ListenFree
지시문이 지원됩니다.Listen
지시문과 마찬가지로ListenFree
는 서버가 수신 대기하는 IP 주소, 포트 또는 IP 주소 및 포트 조합에 대한 정보를 제공합니다. 그러나ListenFree
를 사용하면IP_FREEBIND
소켓 옵션이 기본적으로 활성화됩니다. 따라서httpd
는 비로컬 IP 주소 또는 아직 존재하지 않는 IP 주소에 바인딩할 수 있습니다. 이렇게 하면httpd
가 기본 네트워크 인터페이스나 지정된 동적 IP 주소가httpd
에 바인딩하려고 할 때 소켓에서 수신 대기할 수 있습니다.ListenFree
지시문은 현재 RHEL 8에서만 사용할 수 있습니다.ListenFree
에 대한 자세한 내용은 다음 표를 참조하십시오.표 15.1. ListenFree 지시문의 구문, 상태 및 모듈 구문 상태 모듈 ListenFree [IP-address:]portnumber [protocol]
MPM
event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
기타 주요 변경 사항은 다음과 같습니다.
다음 모듈이 제거되었습니다.
-
mod_file_cache
mod_nss
mod_ssl
을 대체로 사용합니다.mod_nss
에서 마이그레이션하는 방법에 대한 자세한 내용은다양한 유형의 서버 배포 설명서의
Apache 웹 서버 구성 섹션에서 해당 키를 사용하도록 NSS 데이터베이스에서 개인 키 내보내기 및 인증서를 참조하십시오.-
mod_perl
-
-
RHEL 8의 Apache HTTP Server에서 사용하는 DBM 인증 데이터베이스의 기본 유형이
SDBM
에서db5
로 변경되었습니다. -
Apache HTTP Server의
mod_wsgi
모듈이 Python 3으로 업데이트되었습니다. WSGI 애플리케이션은 이제 Python 3에서만 지원되며 Python 2에서 마이그레이션해야 합니다. Apache HTTP Server 와 함께 기본적으로 구성된 멀티프로세싱 모듈(MPM)은 멀티 프로세스 분기 모델(
prefork
라고도 함)에서 고성능 멀티 스레드 모델event
로 변경되었습니다.스레드로부터 안전하지 않은 타사 모듈은 교체하거나 제거해야 합니다. 설정된 MPM을 변경하려면
/etc/httpd/conf.modules.d/00-mpm.conf
파일을 편집합니다. 자세한 내용은httpd.service(8)
도움말 페이지를 참조하십시오.- suEXEC에서 사용자에게 허용되는 최소 UID 및 GID는 각각 1000 및 500입니다(이전에는 100 및 100).
-
/etc/sysconfig/httpd
파일은httpd
서비스의 환경 변수를 설정하기 위해 지원되는 인터페이스가 아닙니다. systemd 서비스에httpd.service(8)
도움말 페이지가 추가되었습니다. -
이제
httpd
서비스를 중지하면 기본적으로 "중지"가 사용됩니다. -
mod_auth_kerb
모듈이mod_auth_gssapi
모듈로 교체되었습니다.
배포에 대한 지침은 Apache HTTP 웹 서버 설정을 참조하십시오.
15.3.2. RHEL에서 새로 추가된 nginx
웹 서버
RHEL 8에서는 HTTP 및 기타 프로토콜을 지원하는 웹 서버 및 프록시 서버인 nginx 1.14
를 도입하여 높은 동시성, 성능 및 낮은 메모리 사용률에 중점을 두고 있습니다. nginx
는 이전에는 소프트웨어 컬렉션으로만 사용 가능했습니다.
이제 nginx
웹 서버에서는 PKCS#11
모듈에서 직접 하드웨어 보안 토큰의 TLS 개인 키를 로드하는 기능을 지원합니다. 결과적으로 이제 nginx
설정에서 PKCS#11
URL을 사용하여 ssl_certificate_key
지시문으로 TLS 개인 키를 지정할 수 있습니다.
15.3.3. RHEL 8.0에서 Apache Tomcat 삭제, RHEL 8.8에서 재 소개
Apache Tomcat 서버는 Red Hat Enterprise Linux 8.0에서 제거되었으며 RHEL 8.8에서 다시 도입되었습니다. Tomcat은 Java Servlet 및 JavaServer Pages 기술을 위한 공식 참조 구현에 사용되는 서블릿 컨테이너입니다. Java Servlet 및 JavaServer Pages 사양은 Sun에서 Java Community Process에 따라 개발했습니다. Tomcat은 공개 및 참여 환경에서 개발되었으며 Apache Software License 버전 2.0에 따라 출시되었습니다.
서블릿 컨테이너가 필요한 RHEL 8.8보다 이전 마이너 버전의 사용자는 JBoss Web Server 를 사용할 수 있습니다.