nginx-quicパッケージをquictlsで作り直した
以前作成したnginx-quicパッケージをquictlsを使うように作り直しました。
https://github.com/ryoh/nginx-quic.spec
基本的なコードなどは変わりませんが、以前はBoringSSLでしか対応ができなかったのが、quictls版OpenSSLでも対応できるようになったため、ビルドが容易になりました。(併せてnginxも最新版に更新)
またOpenSSL 3.0に変えたため kTLS(Kernel TLS)が使えるようになりました。最大で30%程度性能改善がするようです。nginx.conf 周りも更新しているので一応そのまま使えれる状態にしています。
そのほかzstdモジュールにも対応してほしいissueが来ていたので対応しています。が、どうなんでしょうかね。
最後にSPECファイルの抜粋となります。
%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/