Intern
Kas olete töötanud Apache HTTP Serveriga?
sobes.tech AI
Vastus AI-lt
Jah, olen töötanud. Mul on kogemusi Apache HTTP Serveri seadistamisel, optimeerimisel ja toetamisel erinevates infrastruktuurides.
Peamised töövaldkonnad:
- Paigaldamine ja põhikonfiguratsioon:
- Koodi kompileerimine lähtekoodist ja paigaldamine paketidest (
apt,yum). - Põhikontrollifaili
httpd.conf(võiapache2.conf) redigeerimine. - Pordi kuulamise seadistamine (
Listen).
- Koodi kompileerimine lähtekoodist ja paigaldamine paketidest (
- Virtuaalsed hostid (Virtual Hosts):
- Mitme veebisaidi majutamine ühel serveril virtuaalsete hostide abil.
- Konfiguratsioon nime järgi (
Name-based Virtual Hosts) ja IP-aadressi järgi (IP-based Virtual Hosts). - Kasutades
ServerName,ServerAlias,DocumentRootdirektiive.
- Apache moodulid (Modules):
- Moodulite lubamine ja keelamine (
mod_rewrite,mod_ssl,mod_proxy). - Spetsiifiliste moodulite konfiguratsioon, näiteks URL-i ümberkirjutamise reeglid (
mod_rewrite). - Töö MPM-ga (Multi-Processing Modules) —
prefork,worker,event.
- Moodulite lubamine ja keelamine (
- Turvalisus:
- SSL/TLS seadistamine
mod_sslja Let's Encrypt või teiste sertifikaatidega. - Juurdepääsu piiramine IP järgi (
Order,Deny,Allow). - Autentimise seadistamine (
Basic,Digest) kasutades.htaccessvõi konfiguratsioonifaile. - Kaitse levinud rünnakute eest (näiteks DDoS, SQL Injection) koos WAF-iga.
- SSL/TLS seadistamine
- Tõrkeotsing ja skaleerimine:
- MPM seadistuste optimeerimine (
MaxRequestWorkers,StartServers,MinSpareServers,MaxSpareServers). - Vahemälu kasutamine (
mod_cache,mod_disk_cache). - FastCGI (PHP-FPM) integratsioon ja päringute proxy (
mod_proxy,mod_proxy_http,mod_proxy_fcgi). - Surumahtude seadistamine (
mod_deflate).
- MPM seadistuste optimeerimine (
- Logimine ja jälgimine:
- Juurdepääsulogide formaadid (
LogFormat,CustomLog) seadistamine. - Vea logide analüüs (
ErrorLog). - Integratsioon jälgimissüsteemidega (näiteks Prometheus Exporter, Nagios pluginad).
mod_statuskasutamine serveri ja päringute oleku jälgimiseks.
- Juurdepääsulogide formaadid (
- Automatiseerimine ja juurutamine:
- Ansible playbookide kirjutamine Apache installimiseks ja seadistamiseks.
- Docker konteinerite kasutamine.
Virtuaalse hosti konfiguratsiooni näide:
# Virtuaalse hosti konfiguratsiooni näide
<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>
# Ümber suunamine HTTPS-ile
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 # Kui olemas
# SSL-i turvaseaded
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>
Võrreldes Nginx-iga, mul on ka kogemusi, mis võimaldab valida optimaalse lahenduse konkreetsele ülesandele või neid integreerida (näiteks Apache nagu backend Nginx taga).