nginx-quicパッケージをquictlsで作り直した
以前作成したnginx-quicパッケージをquictls版OpenSSLを使うように作り直しました。https://github.com/ryoh/nginx-quic.spec
基本的なコードなどは変わりませんが、以前はBoringSSLでしか対応ができなかったのが、quictls版OpenSSLでも対応できるようになったため、cmakeが必要なくなりビルドが容易になりました。(併せてnginxも最新版に更新)
またOpenSSL 3.0に変えたため kTLS(Kernel TLS)が使えるようになりました。最大で30%程度性能改善がするようです。nginx.conf 周りも更新しているので一応そのまま使えれる状態にしています。
そのほかzstdモジュールにも対応してほしいissueが来ていたので対応しています。が、どうなんでしょうかね。
最後にSPECファイルの抜粋となります。 ビルド方法はOpenSSLをスタティックリンクする方法と同じで違いは特にありません。 nginx-quicのビルドオプションもそのまま使用できます。
%global nginx_quic_commit cd8018bc81a5 %global quictls_version 3.0.2 Name: nginx-quic Version: 1.21.6 Release: 4%{?dist}.quictls%{quictls_version} Summary: A high performance web server and reverse proxy Group: System Environment/Daemons License: BSD URL: https://nginx.org/ Source0: https://hg.nginx.org/nginx-quic/archive/%{nginx_quic_commit}.tar.gz#/nginx-quic-%{nginx_quic_commit}.tar.gz Source100: https://github.com/quictls/openssl/archive/openssl-%{quictls_version}+quic.tar.gz %description nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. %prep %setup -q -n %{name}-%{nginx_quic_commit} pushd .. MODULE="quictls" %{__rm} -rf ${MODULE} %{__mkdir} ${MODULE} cd ${MODULE} %{__tar} -xf %{SOURCE100} --strip 1 popd %build ./auto/configure \ --with-debug \ --with-openssl=../quictls \ --with-openssl-opt="enable-ktls" \ --with-http_v3_module \ --with-stream_quic_module \ %make_build %install [[ -d %{buildroot} ]] && rm -rf "%{buildroot}" %{__mkdir} -p "%{buildroot}" %make_install INSTALLDIRS=vendor unlink %{buildroot}/etc/nginx/koi-utf unlink %{buildroot}/etc/nginx/koi-win unlink %{buildroot}/etc/nginx/win-utf %files %defattr(-,root,root) /usr/sbin/nginx %config(noreplace) /etc/nginx/nginx.conf %config(noreplace) /etc/nginx/mime.types %config(noreplace) /etc/nginx/fastcgi_params %config(noreplace) /etc/nginx/scgi_params %config(noreplace) /etc/nginx/uwsgi_params %changelog
RPMパッケージは以前と同じCoprで公開中です。https://copr.fedorainfracloud.org/coprs/ryoh/nginx-quic/