Como editar nginx/discourse.conf
Presumo que quaisquer alterações em discourse.conf dentro do container sejam revertidas ao fazer um rebuild de qualquer maneira.
Para manter as alterações, você deve, de alguma forma, adicioná-las à configuração do seu container - por exemplo, web_only.yml:
# [… ]
## Lembre-se, esta é a sintaxe YAML - você só pode ter um bloco com um nome
run:
- exec: echo "Início dos comandos personalizados"
# [… ]
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: $proxy_add_x_forwarded_for
to: $http_x_real_ip
global: true
# [… ]
Como depurar uma instalação do Discourse em subpasta
Em uma instalação do Discourse em subpasta, uma chamada para o Discourse ocorre da seguinte forma:
example.org/forum → [Proxy externo para example.org] → /path-to-discourse/discourse/shared/web-only/nginx.http.sock → [Nginx no container do Discourse]
Portanto, se houver um erro, devemos primeiro localizá-lo:
- Proxy externo
- Nginx no container do Discourse
- O próprio Discourse
Proxy externo
- Chame-o em um navegador e verifique o resultado.
- Verifique os logs de erro do proxy externo.
Nginx no container do Discourse
- Conecte-se via SSH ao seu servidor web.
- Conecte-se diretamente ao socket via
curl. - Depure a saída do
curle os logs doNginx no Discourse
Importante: use o URL http - e não https.
curl -I --unix-socket /path-to-discourse/discourse/shared/web-only/nginx.http.sock http://www.example.org/forum/
Se isso funcionar, tente uma chamada real como:
curl --unix-socket /path-to-discourse/discourse/shared/web-only/nginx.http.sock \
-H "user-agent: Chrome/88.0.4324.182" \
-H "Accept-Encoding: gzip" \
http://www.example.org/forum/t/test-thread/12345 --output test-encoded.html.gz