# 在开发环境中使用 SSL 运行 Discourse

**URL:** https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009
**Category:** Development
**Created:** [2020年四月23日 15:26 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009 "2020-04-23T15:26:10Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![eatcodetravel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eatcodetravel/32/94385_2.png) [@eatcodetravel](https://meta.discourse.org/u/eatcodetravel)
#### Post date: [2020年四月23日 15:26 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009/1 "2020-04-23T15:26:10Z")

</div>

你好，

我查找过是否有解决方案，但找到的主题都无法解决此问题。我尝试在 Discourse 本地运行 SSL。参考 Rails 教程，他们建议在运行 rails server 时使用 `-b` 标志，例如：

`rails s -b 'ssl://127.0.0.1:3000?key=config/ssl/localhost.key&cert=config/ssl/localhost.crt'`

但这种方法在 Discourse 中无法按预期工作。

我使用 [GitHub - FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names you'd like. · GitHub](https://github.com/FiloSottile/mkcert) 生成证书。

欢迎提供任何反馈。

谢谢！

---

<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年四月23日 15:27 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009/2 "2020-04-23T15:27:34Z")

</div>

我们的团队使用专用工具来测试需要 SSL 的功能（如服务工作者、PWA 等）。

最流行的是 [https://ngrok.com/，但也有其他替代方案。](https://ngrok.com/%EF%BC%8C%E4%BD%86%E4%B9%9F%E6%9C%89%E5%85%B6%E4%BB%96%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88%E3%80%82)

---

<div class="post-metadata">

### Author: ![eatcodetravel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eatcodetravel/32/94385_2.png) [@eatcodetravel](https://meta.discourse.org/u/eatcodetravel)
#### Post date: [2020年四月23日 15:44 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009/3 "2020-04-23T15:44:54Z")

</div>

感谢回复 @Falco，我本想测试 SSO 流程，但使用 Ngrok 会有问题，因为我们需要向这些服务传递已批准的回调地址。我原本以为可以直接通过 Rails 将地址绑定到支持 SSL 的服务器上。请问为什么这不能开箱即用？

---

<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年四月23日 16:09 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009/4 "2020-04-23T16:09:02Z")

</div>

那为什么会是个问题呢？ngrok 基础计划允许你指定自定义子域名。

---

<div class="post-metadata">

### Author: ![eatcodetravel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eatcodetravel/32/94385_2.png) [@eatcodetravel](https://meta.discourse.org/u/eatcodetravel)
#### Post date: [2020年四月23日 16:10 UTC](https://meta.discourse.org/t/running-discourse-with-ssl-in-development/149009/5 "2020-04-23T16:10:17Z")

</div>

是的，我认为这需要为每个想要使用 SSO 的开发者，在每次使用 ngrok 时，更改这些服务的回调 URL。
