Ubuntu ve Debian’da Apache HTTP/2 Nasıl Etkinleştirilir
SlaweallyYönetici
2022-10-04 02:43:45 85 views
[ATTACH type="full"]69[/ATTACH]
Hypertext Transfer Protocol Version 2 (HTTP/2), 2015 yılında RFC 7540’ta bir IETF standardı olarak yayınlanan HTTP protokolünün en son sürümüdür. Protokolün odak noktası performanstır; özellikle, son kullanıcı tarafından algılanan gecikme, ağ ve sunucu kaynak kullanımı. Ana hedeflerden biri, tarayıcılardan bir Web sitesine tek bir bağlantının kullanılmasına izin vermektir. Protokol geriye dönük olarak uyumludur, bu nedenle HTTP yöntemleri, durum kodları ve anlam bilgisi, protokolün önceki sürümleriyle aynıdır. Apache, 2.4.17 sürümünden beri HTTP/2 desteğine sahiptir. Bu öğreticide, zaten çalışan bir TLS yapılandırmanız olduğunu ve seçtiğiniz Linux dağıtımınızda gerekli Apache sürümünün kurulu olduğunu ve Let’s Encrypt’i nasıl kullanacağınızı veya nasıl yapacağınızı bildiğinizi varsayacağım. kendinden imzalı bir sertifika yayınlayın.
Bu öğretici Debian 10, Debian 9, Ubuntu 20.04 LTS ve Ubuntu 18.04 LTS üzerinde test edilmiştir.
Apache’de HTTP/2’yi etkinleştirmek için aşağıdaki gereksinimleri karşılamanız gerekir:
İlk olarak, sunucunuzda HTTPS’yi etkinleştirmeniz gerekir. Tüm büyük tarayıcılar, yalnızca HTTPS üzerinden HTTP/2 kullanımına izin verir. Ayrıca, modern şifre paketleriyle TLS protokol sürümü >= 1.2 gereklidir.
Ardından, HTTP/2 bu sürüm ve sonrasında desteklendiğinden Apache 2.4.17 veya üstünü çalıştırdığınızdan emin olun.
Ayrıca, istemcinizin/tarayıcınızın gerçekten HTTP/2’yi desteklediğinden emin olun.
Bir sonraki adımda Apache MPM modülünü mpm_event’e geçirmeden önce, eski mod_php modunu devre dışı bırakmamız ve onu daha modern PHP-FPM moduyla değiştirmemiz gerekecek. Komutlar her İşletim sistemi sürümü için farklılık gösterir, lütfen kurulu sisteminize uyanları kullanın.
Debian 10
Varsayılan olarak, Apache prefork MPM’yi kullanır. Bu MPM, HTTP/2 ile uyumlu değil, bu yüzden onu daha modern mpm_event modülüyle değiştirmemiz gerekecek.
İlk önce mpm_prefork modülünü devre dışı bırakıyoruz:
Ardından mpm_event modülünü etkinleştiriyoruz:
Apache’de HTTP/2 desteğini etkinleştirin
HTTP/2’nin Apache üzerinde çalışmasını sağlamak için SSL ve HTTP/2 modüllerini etkinleştirmeniz ve yüklemeniz gerekir. Bunu yapmak için terminalinizde aşağıdakileri çalıştırabilirsiniz:
ve daha sonra
Bu yeni modülleri etkinleştirmek için şunları çalıştırmanız gerekir:
ve daha sonra
Bu yeni modülleri etkinleştirmek için şunları çalıştırmanız gerekir:
Gerekli Apache modüllerini etkinleştirip yükledikten sonra, Apache yapılandırma dizininize gidin ve Apache yapılandırmasını düzenleyin.
Apache web sunucunuzda HTTP/2’yi etkinleştirmek için genel Apache yapılandırmanıza veya belirli bir sanal ana bilgisayarın içine aşağıdakilerden birini ekleyin.
Bazı sanal konaklarda HTTP/2’yi etkinleştirmek için kullanılabilecek minimum sanal sunucu yapılandırması aşağıda verilmiştir:
Sunucunuzun HTTP/2’yi destekleyip desteklemediğini kontrol etmek için tarayıcı geliştirme araçlarınızı kullanabilirsiniz. Aşağıdakiler, https://example.com etki alanında HTTP/2’yi çalışırken gösteren Google Chrome ve Apple Safari tarayıcılarından alınan ekran görüntüleridir.
[IMG alt="Ubuntu ve Debian'da Apache Web Sunucusunda HTTP/2 Nasıl Etkinleştirilir"]https://alicomez.com/wp-content/uploads/2022/08/http-2.png[/IMG]
Hypertext Transfer Protocol Version 2 (HTTP/2), 2015 yılında RFC 7540’ta bir IETF standardı olarak yayınlanan HTTP protokolünün en son sürümüdür. Protokolün odak noktası performanstır; özellikle, son kullanıcı tarafından algılanan gecikme, ağ ve sunucu kaynak kullanımı. Ana hedeflerden biri, tarayıcılardan bir Web sitesine tek bir bağlantının kullanılmasına izin vermektir. Protokol geriye dönük olarak uyumludur, bu nedenle HTTP yöntemleri, durum kodları ve anlam bilgisi, protokolün önceki sürümleriyle aynıdır. Apache, 2.4.17 sürümünden beri HTTP/2 desteğine sahiptir. Bu öğreticide, zaten çalışan bir TLS yapılandırmanız olduğunu ve seçtiğiniz Linux dağıtımınızda gerekli Apache sürümünün kurulu olduğunu ve Let’s Encrypt’i nasıl kullanacağınızı veya nasıl yapacağınızı bildiğinizi varsayacağım. kendinden imzalı bir sertifika yayınlayın.
Bu öğretici Debian 10, Debian 9, Ubuntu 20.04 LTS ve Ubuntu 18.04 LTS üzerinde test edilmiştir.
Önkoşullar
Apache’de HTTP/2’yi etkinleştirmek için aşağıdaki gereksinimleri karşılamanız gerekir:
İlk olarak, sunucunuzda HTTPS’yi etkinleştirmeniz gerekir. Tüm büyük tarayıcılar, yalnızca HTTPS üzerinden HTTP/2 kullanımına izin verir. Ayrıca, modern şifre paketleriyle TLS protokol sürümü >= 1.2 gereklidir.
Ardından, HTTP/2 bu sürüm ve sonrasında desteklendiğinden Apache 2.4.17 veya üstünü çalıştırdığınızdan emin olun.
Ayrıca, istemcinizin/tarayıcınızın gerçekten HTTP/2’yi desteklediğinden emin olun.
mod_php modülünü devre dışı bırakın
Bir sonraki adımda Apache MPM modülünü mpm_event’e geçirmeden önce, eski mod_php modunu devre dışı bırakmamız ve onu daha modern PHP-FPM moduyla değiştirmemiz gerekecek. Komutlar her İşletim sistemi sürümü için farklılık gösterir, lütfen kurulu sisteminize uyanları kullanın.
Ubuntu 20.04 LTS
sudo apt-get install php7.4-fpm
sudo a2dismod php7.4
sudo a2enconf php7.4-fpm
sudo a2enmod proxy_fcgiDebian 10
sudo apt-get install php7.3-fpm
sudo a2dismod php7.3
sudo a2enconf php7.3-fpm
sudo a2enmod proxy_fcgiHTTP/2 ile uyumlu bir Apache MPM’yi etkinleştirin
Varsayılan olarak, Apache prefork MPM’yi kullanır. Bu MPM, HTTP/2 ile uyumlu değil, bu yüzden onu daha modern mpm_event modülüyle değiştirmemiz gerekecek.
İlk önce mpm_prefork modülünü devre dışı bırakıyoruz:
sudo a2dismod mpm_preforkArdından mpm_event modülünü etkinleştiriyoruz:
sudo a2enmod mpm_eventApache’de HTTP/2 desteğini etkinleştirin
HTTP/2’nin Apache üzerinde çalışmasını sağlamak için SSL ve HTTP/2 modüllerini etkinleştirmeniz ve yüklemeniz gerekir. Bunu yapmak için terminalinizde aşağıdakileri çalıştırabilirsiniz:
sudo a2enmod sslve daha sonra
sudo a2enmod http2Bu yeni modülleri etkinleştirmek için şunları çalıştırmanız gerekir:
sudo systemctl restart apache2ve daha sonra
sudo a2enmod http2Bu yeni modülleri etkinleştirmek için şunları çalıştırmanız gerekir:
sudo systemctl restart apache2Gerekli Apache modüllerini etkinleştirip yükledikten sonra, Apache yapılandırma dizininize gidin ve Apache yapılandırmasını düzenleyin.
Apache web sunucunuzda HTTP/2’yi etkinleştirmek için genel Apache yapılandırmanıza veya belirli bir sanal ana bilgisayarın içine aşağıdakilerden birini ekleyin.
Protocols h2 http/1.1
Bazı sanal konaklarda HTTP/2’yi etkinleştirmek için kullanılabilecek minimum sanal sunucu yapılandırması aşağıda verilmiştir:
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/public_html/example.com
SSLEngine on
SSLCertificateKeyFile /path/to/private.pem
SSLCertificateFile /path/to/cert.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Protocols h2 http/1.1Sunucunuzun HTTP/2’yi destekleyip desteklemediğini kontrol etmek için tarayıcı geliştirme araçlarınızı kullanabilirsiniz. Aşağıdakiler, https://example.com etki alanında HTTP/2’yi çalışırken gösteren Google Chrome ve Apple Safari tarayıcılarından alınan ekran görüntüleridir.
[IMG alt="Ubuntu ve Debian'da Apache Web Sunucusunda HTTP/2 Nasıl Etkinleştirilir"]https://alicomez.com/wp-content/uploads/2022/08/http-2.png[/IMG]
Yazdığımız şeyler bizi temsil eder, Efendilik iyidir.
