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$
|
$FreeBSD$
|
||||||
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
|
$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"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
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
|
sind Ansatzpunkte, die Administratoren bei der
|
||||||
Implementierung unterstützen sollen.</para>
|
Implementierung unterstützen sollen.</para>
|
||||||
</sect3>
|
</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>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
|
Loading…
Reference in a new issue