Installéiert Apache op CentOS7
Offiziell Referenz
Offiziell Websäit Produkt Dokumentatioun HTTPS GzipInstallatioun ausféieren
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Ännert d'Konfiguratiounsdatei
Nodeems d'Installatioun fäerdeg ass, musse mir e puer Ännerungen an der Konfiguratiounsdatei maachen. De spezifesche Modifikatiounsinhalt enthält normalerweis: gebonnen IP a Port, gzip Kompressiounstransmissioun, Zuel vu gläichzäiteg Verbindungen a SSL. Loosst eis se hei ënnen fir een erklären.
Ännert d'gebonnen IP an den Hafen
D'Standard IP an den Hafen deen Apache lauschtert ass 0.0.0.0:80. Wa mir d'Nolauschteren IP a Port änneren mussen, kënne mir et direkt änneren. Wa mir méi Ports musse bannen, kënne mir se och bäifügen. Am folgenden Beispill binden mir Ports 80 a 443. Port 443 ass d'Standardportnummer fir HTTPS.
Listen 80
Listen 443 https
Open gzip Transmissioun
Well d'CPU Performance vun eisem Computer relativ héich ass, wäert normalerweis de Engpäss an der Netzbandbreedung erschéngen, sou datt mir kënne wielen d'Gzip Kompressiounstransmissioun unzeschalten. Et sinn 9 Niveauen vun der Kompressioun.Mir kënnen no der Leeschtung vun eisem Server wielen an dee passendsten Niveau fannen. Am Beispill hei ënnen hu mir et op den Niveau 1 gesat. Déi kompriméiert Dateitypen sinn: html, xml, php, css, js, mir kënnen och kompriméiert Dateitypen no Bedarf bäifügen.
<IfModule mod_deflate.c>
DeflateCompressionLevel 1
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfModule>
Setzt KeepAlive op
D'Funktioun vum KeepAlive ass fir de Client an de Server fir eng Zäit verbonne ze halen. Wa mir eng Websäit opmaachen, musse mir normalerweis den Haaptinhalt, js, css a Biller lueden. Well all Ressource eng separat HTTP Ufro muss initiéieren, aktivéiere mir KeepAlive fir déi néideg Zäit fir all Ufro ze reduzéieren fir en TCP / IP Link opzebauen. Awer KeepAlive huet och Nodeeler. Et wäert dozou féieren datt den IO Ressourcen vum Server besat sinn, also musse mir wielen ob KeepAlive no der aktueller Situatioun aktivéiert gëtt. Wann KeepAlive aktivéiert ass, musse mir och e vernünftegen Timeout setzen fir ze vermeiden datt de Server IO laang besat ass. Déi folgend Beispill enthält verschidden Haaptastellungen vun KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Konfiguréiert d'Zuel vu gläichzäiteg
Eng raisonnabel Konfiguratioun vun der Unzuel vun der gläichzäiteger kann den Duerchgang vum Server staark verbesseren. Normalerweis funktionnéiert eisen Apache am mpm_prefork Modus. Mir mussen e puer Schlësselparameter raisonnabel konfiguréieren. Op wat mir oppasse mussen ass datt déi maximal Unzuel u Verbindungen net ze kleng sollt sinn, ze kleng féiert dozou datt eng grouss Zuel u Benotzerufroe refuséiert gëtt wann d'Konkurrenz héich ass. De vernünftege Wäert dee mir festgeluecht hunn, bezitt sech op de Server an de CPU an de Gedächtnis. Soulaang d'Ressourcen duer sinn, solle mir et sou grouss wéi méiglech setzen, awer wa mir et ze grouss setzen, da ginn d'Serverressourcen erschöpft an Apache wäert och ofstierzen.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
SSL konfiguréieren
Déi meescht Websäiten hunn elo SSL aktivéiert fir HTTPS sécher Verbindungen z'ënnerstëtzen. De Virdeel vun HTTPS ass datt den Inhalt wärend der Iwwerdroung verschlësselt ass, sou datt et keng Notwendegkeet ass sech iwwer Informatiounslekkage wéinst Interceptioun vun aneren ze këmmeren. Ier Dir SSL aktivéiert, musse mir als éischt e Certificat uwenden. Nodeems mir de Certificat kruten, kuckt op déi folgend Konfiguratioun fir d'SSL Astellungen ze kompletéieren.
<VirtualHost *:443>
ServerAdmin www.test.com
ServerName www.testl.com
DocumentRoot /var/www/test
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile /etc/httpd/conf/cert/public.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
AllowEncodedSlashes on
<Directory "/var/www/test.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>