Update to r54630:
Add a section on HTTP2 with Apache. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D27320
This commit is contained in:
parent
e6d2f8c895
commit
c825f24fdf
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=54706
1 changed files with 121 additions and 1 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
|
||||
basiert auf: r54573
|
||||
basiert auf: r54630
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
|
@ -3945,6 +3945,126 @@ LoadModule ssl_module libexec/apache24/mod_ssl.so</programlisting>
|
|||
sind Ansatzpunkte, die Administratoren bei der
|
||||
Implementierung unterstützen sollen.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<info>
|
||||
<title>HTTP2-Unterstützung</title>
|
||||
</info>
|
||||
|
||||
<para>Die <application>Apache</application>-Unterstützung für
|
||||
das <acronym>HTTP</acronym>2-Protokoll ist bei der
|
||||
Installation des Ports mit <command>pkg</command>
|
||||
automatisch enthalten. Die neue Version von
|
||||
<acronym>HTTP</acronym> enthält viele Verbesserungen
|
||||
gegenüber der vorherigen Version, einschließlich der
|
||||
Verwendung einer einzigen Verbindung zu einer Website,
|
||||
wodurch die Anzahl der Roundtrips von TCP-Verbindungen
|
||||
reduziert wird. Zudem werden die Header-Daten der Pakete
|
||||
komprimiert und <acronym>HTTP</acronym>2 erfordert
|
||||
standardmäßig Verschlüsselung.</para>
|
||||
|
||||
<para>Wenn <application>Apache</application> so konfiguriert
|
||||
ist, dass nur <acronym>HTTP</acronym>2 benutzt wird, müssen
|
||||
Browser sichere, verschlüsselte
|
||||
<acronym>HTTPS</acronym>-Verbindungen unterstützen. Ist
|
||||
<acronym>Apache</acronym> so konfiguriert, dass beide
|
||||
Versionen benutzt werden, steht <acronym>HTTP</acronym>1.1
|
||||
als Fallback-Option bereit, falls während der Verbindung
|
||||
Probleme auftreten.</para>
|
||||
|
||||
<para>Obwohl der Administrator einige Änderungen an der
|
||||
Konfiguration vornehmen muss, wirkt sich dies positiv auf
|
||||
die Sicherheit aller im Internet aus. Die Änderungen sind
|
||||
auch nur für Server erforderlich, die derzeit
|
||||
<acronym>SSL</acronym> und <acronym>TLS</acronym> nicht
|
||||
implementieren.</para>
|
||||
|
||||
<note>
|
||||
<para>Diese Konfiguration baut auf den vorherigen
|
||||
Abschnitten auf, einschließlich der Unterstützung für
|
||||
<acronym>TLS</acronym>. Es wird empfohlen, diese
|
||||
Anweisungen zu befolgen, bevor Sie mit dieser
|
||||
Konfiguration fortfahren.</para>
|
||||
</note>
|
||||
|
||||
<para>Starten Sie damit, dass <acronym>http</acronym>2-Modul
|
||||
zu aktivieren, indem Sie diese Zeilen in
|
||||
<filename>/usr/local/etc/apache24/httpd.conf</filename>
|
||||
auskommentieren und das Modul mpm_prefork durch mpm_event
|
||||
ersetzen, da ersteres <acronym>HTTP</acronym>2 nicht
|
||||
unterstützt.</para>
|
||||
|
||||
<programlisting>LoadModule http2_module libexec/apache24/mod_http2.so
|
||||
LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Es ist ebenfalls ein separater Port
|
||||
<filename role="port">mod_http2</filename> verfügbar.
|
||||
Dieser Port ist dazu gedacht, Sicherheit und
|
||||
Fehlerbehebungen schneller zur Verfügung zu stellen als
|
||||
das installierte Modul vom
|
||||
<filename role="port">apache24</filename>-Port. Dann
|
||||
muss <filename>mod_h2.so</filename> anstelle von
|
||||
<filename>mod_http2.so</filename> in der Konfiguration von
|
||||
<application>Apache</application> benutzt werden.</para>
|
||||
</note>
|
||||
|
||||
<para>Es gibt zwei Möglichkeiten, <acronym>HTTP</acronym>2 in
|
||||
<application>Apache</application> zu implementieren. Eine
|
||||
Möglichkeit ist global für alle Sites und VirtualHosts des
|
||||
Systems. Um <acronym>HTTP</acronym>2 global zu aktivieren,
|
||||
muss folgende Zeile unter der ServerName-Direktive
|
||||
hinzugefügt werden:</para>
|
||||
|
||||
<programlisting>Protocols h2 http/1.1</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Um <acronym>HTTP</acronym>2 über Klartext zu
|
||||
aktivieren, muss <acronym>h2</acronym>
|
||||
<acronym>h2c</acronym> <acronym>http</acronym>/1.1 in
|
||||
<filename>httpd.conf</filename> hinzugefügt werden.</para>
|
||||
</note>
|
||||
|
||||
<para><acronym>h2c</acronym> ermöglicht die Weitergabe von
|
||||
Klartext-Daten über <acronym>HTTP</acronym>2 und wird daher
|
||||
nicht empfohlen. Darüber hinaus ermöglicht die Verwendung
|
||||
von <acronym>http</acronym>/1.1 einen Fallback auf die
|
||||
Version <acronym>HTTP</acronym>1.1 des Protokolls, falls
|
||||
diese vom System benötigt wird.</para>
|
||||
|
||||
<para>Um <acronym>HTTP</acronym>2 für einzelne VirtualHosts zu
|
||||
aktivieren, fügen Sie dieselbe Zeile innerhalb der
|
||||
VirtualHosts-Direktive entweder in
|
||||
<filename>httpd.conf</filename> oder
|
||||
<filename>httpd-ssl.conf</filename> ein.</para>
|
||||
|
||||
<para>Laden Sie die Konfiguration mit dem Befehl
|
||||
<command>apachectl</command> <parameter>reload</parameter>
|
||||
und testen Sie die Konfiguration mit einer der folgenden
|
||||
Methoden, nachdem Sie eine der Seiten besucht haben:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>grep "HTTP/2.0" /var/log/httpd-access.log</userinput></screen>
|
||||
|
||||
<para>Die Ausgabe sollte etwas Ähnliches wie dieses
|
||||
zurückgeben:</para>
|
||||
|
||||
<programlisting>192.168.1.205 - - [18/Oct/2020:18:34:36 -0400] "GET / HTTP/2.0" 304 -
|
||||
192.0.2.205 - - [18/Oct/2020:19:19:57 -0400] "GET / HTTP/2.0" 304 -
|
||||
192.0.0.205 - - [18/Oct/2020:19:20:52 -0400] "GET / HTTP/2.0" 304 -
|
||||
192.0.2.205 - - [18/Oct/2020:19:23:10 -0400] "GET / HTTP/2.0" 304 -</programlisting>
|
||||
|
||||
<para>Eine andere Methode ist die Verwendung des im Browser
|
||||
integrierten Debuggers, oder das Programm
|
||||
<command>tcpdump</command>. Die genaue Benutzung wird hier
|
||||
jedoch nicht beschrieben.</para>
|
||||
|
||||
<para>Unterstützung für <acronym>HTTP</acronym>2
|
||||
Reverse-Proxy-Verbindungen sind mit dem
|
||||
<filename>mod_proxy_http2.so</filename>-Modul verfügbar.
|
||||
Wenn Sie die ProxyPass oder RewriteRules [P]-Anweisungen
|
||||
konfigurieren, sollten Sie h2:// für die Verbindung
|
||||
verwenden.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
|
|
Loading…
Reference in a new issue