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
(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
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_highlight
gem에서 이제 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부터
Psych
YAML 구문 분석기는 기본적으로safe_load
메서드를 사용합니다.
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
지시문에 명시적 값을 사용하도록 이미 구성된 시스템은 이러한 변경의 영향을 받지 않습니다.
(BZ#2128016)
새 패키지: httpd-core
RHEL 9.1부터 모든 필수 파일이 포함된 httpd
바이너리 파일이 새 httpd-core
패키지로 이동되어 기본 httpd
기능만 필요한 시나리오에서 Apache HTTP Server의 종속성만 제한합니다.
httpd
패키지는 이제 mod_
,systemd
mod_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 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
는 긍정적인 어설션 내에서만 허용되지만 음수 어설션에서는 무시됩니다.