# Servir Discourse de um subdiretório (prefixo de caminho) em vez de um subdomínio

**URL:** https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507
**Category:** Self-Hosting
**Tags:** docker, subfolder, how-to, advanced-setup
**Created:** [26 Junho , 2015 19:18 UTC](https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507 "2015-06-26T19:18:04Z")
**Posts on this page:** 1
**Showing post:** 119

<div class="post-metadata">

### Author: ![rrit](https://avatars.discourse-cdn.com/v4/letter/r/b5ac83/32.png) [@rrit](https://meta.discourse.org/u/rrit)
#### Post date: [3 Fevereiro , 2022 21:25 UTC](https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507/119 "2022-02-03T21:25:30Z")

</div>

## Como editar `nginx/discourse.conf`

> [@Miguel\_Angel\_García](#):
>
> Eu tentei reverter todas as alterações em `/etc/nginx/conf.d/discourse.conf` **dentro do container** , […].  
> Depois de reverter o arquivo `discourse.conf` eu **fiz um rebuild** , usando `/var/discourse/launcher rebuild app`.

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`:

```yaml
# […]
## 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

1. Conecte-se via SSH ao seu servidor web.
2. Conecte-se diretamente ao socket via `curl`.
3. Depure a saída do `curl` e os logs do `Nginx no Discourse`

**Importante** : use o URL `http` - e não `https`.

```bash
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:

```bash
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

```

---

_[View the full topic](https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507)._
