Configuração do servidor web
TIP
Are you tired of complex setup, configuration, backup and update tasks? Let us handle this stuff for you! 🚀
The easiest and often most cost-effective way to operate Zammad is our cloud service. Give it a try with a free trial instance!
Configure seu servidor web para fazer proxy reverso do servidor de aplicação do Zammad. Este guia cobre obter um certificado SSL, ajustar a configuração de exemplo para Nginx e Apache 2, e recarregar o servidor web para aplicar as alterações.
Você pode encontrar arquivos de configuração de exemplo para o seu servidor web dentro do diretório contrib/ da sua instalação do Zammad. Há dois arquivos de exemplo por servidor web: zammad.conf (HTTP simples) e zammad_ssl.conf (HTTPS). O arquivo sem SSL é destinado apenas a testes locais e não deve ser usado em produção. Durante uma instalação via pacote do Zammad, o pacote copia automaticamente o zammad.conf sem SSL para o diretório de configuração do seu servidor web. Para uso em produção, substitua-o pelo zammad_ssl.conf e siga as etapas nesta página.
INFO
Usuários do Docker Compose/Kubernetes:
Pule esta página. Configure a porta, nome de host e esquema do servidor web via as variáveis NGINX_* e ZAMMAD_RAILSSERVER_* na página de variáveis de ambiente.
Obter um certificado SSL
O Zammad requer HTTPS em produção. Use uma das opções abaixo para obter um certificado antes de continuar com a configuração do servidor web.
Autoridade certificadora comercial
Compre um certificado anual de qualquer CA pública confiável. Algumas opções comuns são Sectigo, GlobalSign ou DigiCert. Instale o certificado, chave e cadeia resultantes no seu servidor, como faria para qualquer serviço HTTPS, e depois continue com a configuração do servidor web abaixo.
Let's Encrypt
O Let's Encrypt emite certificados gratuitos e renováveis automaticamente. Dois clientes são comumente usados.
O Certbot é o cliente ACME mais amplamente usado. Siga as instruções de instalação do Certbot, selecione sua distribuição e o plugin de servidor web correspondente no seletor, e conclua a instalação. Uma vez instalado, solicite um certificado substituindo <webserver> por nginx ou apache e zammad.example.com pelo seu subdomínio:
sudo certbot --<webserver> -d zammad.example.comO Certbot emitirá o certificado, perguntará se deseja redirecionar HTTP para HTTPS (escolha [1] not redirect se você planeja usar a configuração de exemplo do Zammad, que já lida com o redirecionamento; caso contrário, escolha [2] redirect) e organizará a renovação automática assim que o certificado tiver menos de 30 dias de validade restantes.
Ajustar a configuração do servidor web
Coloque a configuração de exemplo no lugar
Copie a configuração de exemplo SSL para o diretório de configuração do Nginx:
sudo cp /opt/zammad/contrib/nginx/zammad_ssl.conf \
/etc/nginx/sites-available/zammad.confDiretórios de configuração comuns do Nginx:
/etc/nginx/conf.d//etc/nginx/vhosts.d//etc/nginx/sites-available/
Ajuste o nome do servidor e os caminhos dos certificados
Ajuste o arquivo recém-copiado com um editor de texto de sua escolha (por exemplo, vi ou nano). Localize ambas as diretivas server_name (uma no bloco de servidor HTTP na porta 80, outra no bloco de servidor HTTPS na porta 443) e ajuste example.com para o subdomínio que você escolheu para sua instância do Zammad.
Agora você precisará ajustar o caminho e os nomes de arquivo dos seus certificados SSL obtidos nas etapas anteriores. Ajuste as seguintes diretivas para corresponder à sua configuração:
ssl_certificate(seu certificado SSL)ssl_certificate_key(a chave privada do certificado)ssl_trusted_certificate(o certificado público da CA)
Para melhorar a segurança HTTPS, configure também um arquivo de parâmetro Diffie-Hellman e aponte ssl_dhparam para ele:
sudo openssl dhparam -out /etc/ssl/dhparam.pem 4096Recarregue e verifique
Verifique a configuração:
sudo nginx -tRecarregue o Nginx:
sudo systemctl reload nginxAgora visite o domínio configurado do Zammad em um navegador para acessar a interface do Zammad. Se você não vir o assistente de configuração do Zammad nem a interface do Zammad, verifique a seção de solução de problemas abaixo.
Solução de problemas
Página de destino padrão em vez do Zammad
Se você chegar à página de destino padrão do servidor web em vez do Zammad, seu zammad.conf pode estar sendo sobreposto por outro arquivo de configuração. Verifique o diretório vhost por 000-default.conf ou default.conf e desative-o.
DNS não resolvendo
Se o subdomínio não resolver, verifique novamente os registros DNS do seu domínio e aguarde a propagação. Substitua o zammad.example.com no comando a seguir pelo domínio configurado do seu Zammad e verifique se o domínio aponta para o servidor correto:
host zammad.example.comErros de token CSRF
Se os usuários não conseguirem fazer login devido a erros de token CSRF, a cadeia do seu servidor web pode não estar passando o tipo de conexão original para o Zammad. Diga diretamente ao proxy que a conexão é HTTPS.
- Nginx
dentro da sua configuração de virtual host, localize
proxy_set_header X-Forwarded-Protoe substitua$schemeporhttps.- Apache 2
dentro da sua configuração de virtual host, logo acima da primeira diretiva
ProxyPass, insira:apacheRequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on