# 如何在特定路径上使用 Nginx 作为代理安装 Discourse？

**URL:** https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918
**Category:** Self-hosting
**Created:** [2020年五月9日 16:36 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918 "2020-05-09T16:36:37Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![ftpd](https://avatars.discourse-cdn.com/v4/letter/f/9f8e36/32.png) [@ftpd](https://meta.discourse.org/u/ftpd)
#### Post date: [2020年五月9日 16:36 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/1 "2020-05-09T16:36:37Z")

</div>

你好。我已经在 Linux 机器上成功安装并运行了 Discourse，使用 Nginx 作为 SSL 终止器，并配置了 proxy\_pass 指令。

问题是，目前我只能通过 `discourse.example.com` 访问，而我希望实现通过 `example.com/discourse` 访问。我尝试修改 `DISCOURSE_HOSTNAME` 并直接设置该值，但结果是显示标准的“哎呀，页面未找到”错误页面，且没有任何 CSS 样式。我尝试在源代码和文档中搜索“baseurl”指令（因为其他应用中常以此命名），但没有成功。

这是否可行？如果可行，请提供相关链接说明如何实现。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2020年五月9日 18:41 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/2 "2020-05-09T18:41:54Z")

</div>

请跟进 [Serve Discourse from a subfolder (path prefix) instead of a subdomain](https://meta.discourse.org/t/subfolder-support-with-docker/30507?u=falco)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2020年五月9日 20:25 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/3 "2020-05-09T20:25:31Z")

</div>

你查看过 [Docker 的子文件夹支持](https://meta.discourse.org/t/subfolder-support-with-docker/30507) 或 [子文件夹中的 Discourse，多台服务器共享一个域名](https://meta.discourse.org/t/discourse-in-a-subfolder-multiple-servers-sharing-a-domain/30514) 吗？

---

<div class="post-metadata">

### Author: ![ftpd](https://avatars.discourse-cdn.com/v4/letter/f/9f8e36/32.png) [@ftpd](https://meta.discourse.org/u/ftpd)
#### Post date: [2020年五月11日 08:27 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/4 "2020-05-11T08:27:17Z")

</div>

好的，‘subfolder’（子目录）是这里的关键词。我完全没想到，谢谢！

顺便一提，这份文档假设我使用的是捆绑的 nginx，而不是我自己的，不过我想我只需要相应地修改我的配置（尤其是 `rewrite` 行）。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2020年五月12日 12:37 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/5 "2020-05-12T12:37:18Z")

</div>

您将同时使用外部 nginx 以及 Discourse Docker 容器内部的内部 nginx。

---

<div class="post-metadata">

### Author: ![ftpd](https://avatars.discourse-cdn.com/v4/letter/f/9f8e36/32.png) [@ftpd](https://meta.discourse.org/u/ftpd)
#### Post date: [2020年五月12日 13:01 UTC](https://meta.discourse.org/t/how-to-install-discourse-with-nginx-as-proxy-on-specific-path/150918/6 "2020-05-12T13:01:12Z")

</div>

好的。起初我以为自己没使用任何内部 httpd，因为我没有暴露端口，但——我真傻——我仍然使用了 socket，而它必须连接到某个地方。

所以我得在两者上都使用 rewrite 吗？
