4.13. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
nodejs:18 모듈 스트림이 완전히 지원됩니다.
nodejs:18 모듈 스트림은 이전에 기술 프리뷰로 사용 가능하며 RHSA-2022:8832 권고의 릴리스에서 완전히 지원됩니다. nodejs:18 모듈 스트림은 이제 LTS(Long Term Support) 버전인 Node.js 18.12 를 제공합니다.
RHEL 9.1에 포함된 Node.js 18 은 Node.js 16 을 통한 버그 및 보안 수정 사항과 함께 수많은 새로운 기능을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
V8엔진은 버전 10.2로 업그레이드되었습니다. -
npm패키지 관리자가 버전 8.19.2로 업그레이드되었습니다. -
Node.js에서 새로운 실험적가져오기API를 제공합니다. -
이제
Node.js에서 새로운 실험적인node:test모듈을 제공하여 보고되는 테스트 생성을 통해TAP( Test Anything Protocol) 형식으로 이어집니다. -
Node.js는 이제 IPv4를 통해 IPv6 주소를 선호합니다.
nodejs:18 모듈 스트림을 설치하려면 다음을 사용합니다.
dnf module install nodejs:18
# dnf module install nodejs:18
(BZ#2083072)
새로운 모듈 스트림: php:8.1
RHEL 9.1에서는 PHP 8.1 을 새로운 php:8.1 모듈 스트림으로 추가합니다.
PHP 8.1 을 사용하면 다음을 수행할 수 있습니다.
- Enumerations (Enumerations) 기능을 사용하여 가능한 값의 개별 수 중 하나로 제한되는 사용자 지정 유형을 정의합니다.
-
초기화 후 속성을 수정하지 않도록
readonly한정자를 사용하여 속성을 선언합니다. - 파이버, 풀 스택, 인터럽트 기능 사용
php:8.1 모듈 스트림을 설치하려면 다음을 사용합니다.
dnf module install php:8.1
# dnf module install php:8.1
RHEL 9의 PHP 사용법에 대한 자세한 내용은 PHP 스크립팅 언어 사용을 참조하십시오.
(BZ#2070040)
새 모듈 스트림: ruby:3.1
RHEL 9.1에서는 새로운 ruby:3.1 모듈 스트림에 Ruby 3.1.2 가 도입되었습니다. 이 버전은 RHEL 9.0에서 배포된 Ruby 3.0 에 비해 다양한 성능 향상, 버그 및 보안 수정, 새로운 기능을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
이제
대화형 Ruby(IRB) 유틸리티에서 자동 완성 기능과 문서 대화 상자를 제공합니다. -
lib/를 대체하고 성능이 향상되고 원격 디버깅 및 다중 프로세스/다중 스레드 디버깅을 지원하는 새로운 디버그 gemdebug.rb -
error_highlightgem에서 이제 backtrace에서 세분화된 오류 위치를 제공합니다. - 해시 리터럴 데이터 유형 및 키워드 인수의 값을 생략할 수 있습니다.
-
이제 pin 연산자(
^)에서 패턴 일치에서 표현식 허용 - 이제 한 줄 패턴 일치에서 생략할 수 있습니다.
- 새로운 실험적인 프로세스의JIT(Just-in-Time) 컴파일러인 YJIT가 AMD 및 Intel 64비트 아키텍처에서 사용 가능
-
TypeProf For IDE유틸리티가 도입되었으며 IDE의Ruby코드에 대한 실험적 정적 유형 분석 도구입니다.
MJIT(메서드 기반 Just-in-Time Compiler)에서 다음과 같은 성능 개선 사항이 구현되었습니다.
-
Rails와 같은 워크로드의 경우 기본 최대ECDHE 캐시 값이 100에서 10000으로 증가했습니다. -
클래스 이벤트에 대한
TraceECDHE가 활성화된 경우ECDHE을 사용하여 컴파일된 코드가더 이상 취소되지 않습니다.
기타 주요 변경 사항은 다음과 같습니다.
-
tracer.rb파일이 제거됨 -
버전 4.0부터
PsychYAML 구문 분석기는 기본적으로safe_load메서드를 사용합니다.
ruby:3.1 모듈 스트림을 설치하려면 다음을 사용합니다.
dnf module install ruby:3.1
# dnf module install ruby:3.1
(BZ#2063773)
httpd 가 버전 2.4.53으로 업데이트됨
Apache HTTP Server가 RHEL 9.0을 통해 배포된 버전 2.4.51에 대한 버그 수정, 개선 사항 및 보안 수정 사항을 제공하는 버전 2.4.53으로 업데이트되었습니다.
mod_proxy 및 mod_proxy_connect 모듈의 주요 변경 사항은 다음과 같습니다.
-
mod_proxy: 컨트롤러 이름의 길이 제한이 증가 -
mod_proxy: 이제 backend 및 frontend에 대한 제한 시간을 선택적으로 구성할 수 있습니다. -
mod_proxy:SetEnv proxy-nohalfclose매개변수를 설정하여 TCP 연결 리디렉션을 비활성화할 수 있습니다. -
mod_proxy및mod_proxy_connect: 클라이언트로 보낸 후 상태 코드를 변경할 수 없습니다.
또한 새로운 ldap 함수가 표현식 API에 추가되어 LDAP 주입 취약점을 방지할 수 있습니다.
httpd 구성의 LimitRequestBody 지시문의 새 기본값
CVE-2022-29404 를 수정하기 위해 Apache HTTP Server의 LimitRequestBody 지시문의 기본값은 0 (제한 없음)에서 1GiB로 변경되었습니다.
httpd 구성 파일에 LimitRequestBody 의 값이 명시적으로 지정되지 않은 시스템에서 httpd 패키지를 LimitRequestBody 를 기본값으로 1GiB로 업데이트합니다. 결과적으로 HTTP 요청 본문의 총 크기가 이 1GiB 기본 제한을 초과하면 httpd 에서 413 Request entity Too Large 오류 코드를 반환합니다.
HTTP 요청 메시지 본문의 새 기본 허용 크기가 사용 사례에 충분하지 않으면 해당 컨텍스트 내에서 httpd 구성 파일(서버, 디렉터리별, 파일 또는 위치별)을 업데이트하고 기본 제한을 바이트 단위로 설정합니다. 예를 들어 새 2GiB 제한을 설정하려면 다음을 사용합니다.
LimitRequestBody 2147483648
LimitRequestBody 2147483648
LimitRequestBody 지시문에 명시적 값을 사용하도록 이미 구성된 시스템은 이러한 변경의 영향을 받지 않습니다.
(BZ#2128016)
새 패키지: httpd-core
RHEL 9.1부터 모든 필수 파일이 포함된 httpd 바이너리 파일이 새 httpd-core 패키지로 이동되어 기본 httpd 기능만 필요한 시나리오에서 Apache HTTP Server의 종속성만 제한합니다.
httpd 패키지는 이제 mod_ ,systemdmod_brotli 및 문서를 포함한 systemd-related 파일을 제공합니다.
이러한 변경으로 인해 httpd 패키지에서 더 이상 httpd 모듈knative 번호(MMN) 값을 제공하지 않습니다. 대신 httpd-core 패키지에서는 이제 httpd-mmn 값을 제공합니다. 결과적으로 httpd 패키지에서 을 가져올 수 없습니다.
httpd -mmn
설치된 httpd 바이너리의 httpd-mmn 값을 얻으려면 패키지의 일부인 httpd -develapxs 바이너리를 사용할 수 있습니다. httpd-mmn 값을 얻으려면 다음 명령을 사용합니다.
apxs -q HTTPD_MMN
# apxs -q HTTPD_MMN
20120211
(BZ#2065677)
ECDHEre2 버전 10.40으로 변경
Perl Compatible Regular Expressions 라이브러리 v 2를 제공하는ECDHEre 2 패키지가 버전 10.40으로 업데이트되었습니다.
이번 업데이트를 통해 Perl 5.32 의 각 변경 사항에 따라 문제 해결 어설션에서 \K 이스케이프 시퀀스를 사용하는 것은 금지되어 있습니다. 이전 동작을 사용하는 경우 PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK 옵션을 사용할 수 있습니다. 이 옵션이 설정되면 \K 는 긍정적인 어설션 내에서만 허용되지만 음수 어설션에서는 무시됩니다.