Intern
Vai esat strādājis ar Apache HTTP Server?
sobes.tech AI
Atbilde no AI
Jā, esmu strādājis. Man ir pieredze ar Apache HTTP Server konfigurēšanu, optimizēšanu un atbalstu dažādās infrastruktūrās.
Galvenās darba jomas:
- Uzstādīšana un pamata konfigurācija:
- Koda kompilēšana no avota un uzstādīšana no paketēm (
apt,yum). - Galvenā konfigurācijas faila
httpd.conf(vaiapache2.conf) rediģēšana. - Pārlūkošanas portu iestatīšana (
Listen).
- Koda kompilēšana no avota un uzstādīšana no paketēm (
- Virtuālie hosti (Virtual Hosts):
- Dažādu vietņu izvietošana vienā serverī, konfigurējot virtuālos hostus.
- Konfigurācija pēc nosaukuma (
Name-based Virtual Hosts) un IP adreses (IP-based Virtual Hosts). ServerName,ServerAlias,DocumentRootdirektīvu izmantošana.
- Apache moduļi (Modules):
- Moduļu ieslēgšana un izslēgšana (
mod_rewrite,mod_ssl,mod_proxy). - Konfigurācija specifiskiem moduļiem, piemēram, URL pārrakstīšanas noteikumiem (
mod_rewrite). - Darbs ar MPM (Multi-Processing Modules) —
prefork,worker,event.
- Moduļu ieslēgšana un izslēgšana (
- Drošība:
- SSL/TLS konfigurācija ar
mod_sslun Let's Encrypt vai citiem sertifikātiem. - Pieejas ierobežojumi pēc IP (
Order,Deny,Allow). - Autentifikācijas iestatīšana (
Basic,Digest) ar.htaccessvai konfigurācijas failiem. - Aizsardzība pret izplatītākajām uzbrukumu formām (piemēram, DDoS, SQL Injection) kopā ar WAF.
- SSL/TLS konfigurācija ar
- Veiktspēja un mērogošana:
- MPM iestatījumu optimizācija (
MaxRequestWorkers,StartServers,MinSpareServers,MaxSpareServers). - Kešatmiņas izmantošana (
mod_cache,mod_disk_cache). - FastCGI (PHP-FPM) integrācija un pieprasījumu proxy (
mod_proxy,mod_proxy_http,mod_proxy_fcgi). - Kompresijas iestatīšana (
mod_deflate).
- MPM iestatījumu optimizācija (
- Žurnālu veidošana un uzraudzība:
- Pieejas žurnālu formātu konfigurācija (
LogFormat,CustomLog). - Kļūdu žurnālu analīze (
ErrorLog). - Integrācija ar uzraudzības sistēmām (piemēram, Prometheus Exporter, Nagios spraudņi).
mod_statusizmantošana servera un pieprasījumu stāvokļa uzraudzībai.
- Pieejas žurnālu formātu konfigurācija (
- Automatizācija un izvietošana:
- Ansible playbooku rakstīšana Apache uzstādīšanai un konfigurēšanai.
- Docker konteineru izmantošana.
Virtuālā hosta konfigurācijas piemērs:
# Virtuālā hosta konfigurācijas piemērs
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Pāradresācija uz HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCertificateChainFile /etc/ssl/certs/example.com.ca-bundle # Ja ir
# SSL drošības iestatījumi
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA
SSLHonorCipherOrder on
SSLSessionTickets off
SSLCompression off
</VirtualHost>
Salīdzinot ar Nginx, arī ir pieredze, kas ļauj izvēlēties optimālo risinājumu konkrētam uzdevumam vai integrēt tos (piemēram, Apache kā backend Nginx aiz).