Конфигурација web сервера
TIP
Да ли сте преуморни од комплексних поставки, подешавања, резервних копија и ажурирања? Дозволите нам да вам помогнемо око тога! 🚀
Најлакши и најчешће најјефтинији начин да имплементирате Zаmmad је наш сервис у облаку. Уверите се преко бесплатне пробне инстанце!
Подесите свој веб сервер да буде обрнути прокси за Zammad апликативни сервер. Овај водич покрива добављање SSL сертификата, прилагођавање примера подешавања за Nginx и Apache 2 и поновно учитавање веб сервера да би се промене примениле.
Примере датотека подешавања за свој веб сервер можете наћи у contrib/ директоријуму своје Zammad инсталације. Постоје две датотеке примера по веб серверу: zammad.conf (обичан HTTP) и zammad_ssl.conf (HTTPS). Датотека без SSL-а је намењена само локалном тестирању и не сме се користити у производном окружењу. Током инсталације Zammad-а путем пакета, пакет аутоматски копира zammad.conf без SSL-а у директоријум подешавања вашег веб сервера. За производну употребу, замените је са zammad_ssl.conf и пратите кораке на овој страни.
INFO
Корисници Docker Compose-а / Kubernetes-а:
Прескочите ову страну. Подесите порт веб сервера, назив сервера и шему преко NGINX_* и ZAMMAD_RAILSSERVER_* променљивих на страни са променљивама окружења.
Набавите SSL сертификат
Zammad захтева HTTPS у производном окружењу. Употребите једну од опција испод да добавите сертификат пре него што наставите са подешавањем веб сервера.
Комерцијални орган за издавање сертификата
Купите годишњи сертификат од било ког поузданог јавног CA. Неколико уобичајених опција су Sectigo, GlobalSign или DigiCert. Инсталирајте добијени сертификат, кључ и ланац на свој сервер као што бисте то урадили за било који HTTPS сервис, а затим наставите са подешавањем веб сервера испод.
Let's Encrypt
Let's Encrypt издаје бесплатне сертификате које је могуће аутоматски обнављати. Обично се користе два клијента.
Certbot је најшире коришћен ACME клијент. Пратите изворна упутства за инсталацију Certbot-а, изаберите своју дистрибуцију и одговарајући прикључак за веб сервер у бирачу и завршите инсталацију. Након инсталације, затражите сертификат тако што ћете заменити <webserver> са nginx или apache и zammad.example.com својим поддоменом:
sh
sudo certbot --<webserver> -d zammad.example.comCertbot ће издати сертификат, питати да ли да преусмери HTTP на HTTPS (изаберите [1] not redirect ако планирате да користите пример Zammad подешавања, које већ обрађује преусмеравање, у супротном изаберите [2] redirect) и организовати аутоматско обнављање када сертификату остане мање од 30 дана важности.
Прилагођавање конфигурације web сервера
,
Постављање примера подешавања
Копирајте пример SSL подешавања у директоријум подешавања вашег Nginx-а:
sh
sudo cp /opt/zammad/contrib/nginx/zammad_ssl.conf \
/etc/nginx/sites-available/zammad.confНајчешћи Nginx директоријуми подешавања:
/etc/nginx/conf.d//etc/nginx/vhosts.d//etc/nginx/sites-available/
Прилагодите назив сервера и путање сертификата
Прилагодите управо копирану датотеку текстуалним уређивачем по свом избору (нпр. vi или nano). Пронађите обе server_name директиве (једну у HTTP блоку сервера на порту 80, једну у HTTPS блоку сервера на порту 443) и прилагодите example.com поддомену који сте изабрали за своју Zammad инстанцу.
Сада ћете морати да прилагодите путању и називе датотека својих SSL сертификата које сте добили у претходним корацима. Прилагодите следеће директиве својој поставци:
ssl_certificate(ваш SSL сертификат)ssl_certificate_key(тајни кључ сертификата)ssl_trusted_certificate(јавни CA сертификат)
Да бисте побољшали HTTPS безбедност, подесите и датотеку Diffie-Hellman параметара и усмерите ssl_dhparam на њу:
sh
sudo openssl dhparam -out /etc/ssl/dhparam.pem 4096Поновно учитавање и провера
Проверите подешавање:
sh
sudo nginx -tПоново учитајте Nginx:
sh
sudo systemctl reload nginx,
Сада посетите свој подешени Zammad домен у прегледачу да бисте дошли до Zammad интерфејса. Ако уопште не видите Zammad-овог чаробњака за подешавање или Zammad интерфејс, погледајте одељак Решавање проблема испод.
Решавање проблема
Подразумевана почетна страна уместо Zammad-а
Ако дођете до подразумеване почетне стране веб сервера уместо до Zammad-а, вашу zammad.conf можда преиначује друга датотека подешавања. Проверите vhost директоријум за 000-default.conf или default.conf и искључите је.
DNS се не разрешава
Ако се поддомен не разрешава, још једном проверите DNS записе за свој домен и сачекајте да се прошире. Замените zammad.example.com у следећој команди својим подешеним Zammad доменом и проверите да ли домен упућује на прави сервер:
sh
host zammad.example.comГрешке CSRF токена
Ако корисници не могу да се пријаве због грешака CSRF токена, ваш ланац веб сервера можда не прослеђује Zammad-у оригиналну врсту конекције. Реците проксију директно да је конекција HTTPS.
- Nginx
- У подешавању свог виртуелног хоста пронађите
proxy_set_header X-Forwarded-Protoи замените$schemeсаhttps. - Apache 2
У подешавању свог виртуелног хоста, непосредно пре прве
ProxyPassдирективе, убаците:apacheRequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on