大家好,
我尝试在 Oracle Cloud 上部署我的第一个实例。我已经完成了所有基本配置,并且应用程序最终在 Docker 中成功运行,但我无法通过浏览器访问它。
我参考了几个论坛帖子,帮助我成功构建了环境。现在查看日志,发现存在与 SSL 相关的问题。
我在 app.yml 中启用了默认的 SSL 模板,日志中出现了大量如下错误:
nginx: [emerg] cannot load certificate "/shared/ssl/discourse.wrecklab.com.cer": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/discourse.wrecklab.com.cer','r') error:2006D080:BIO routines:BIO_new_file:no such file)
我不确定该从哪里开始排查。请告诉我需要提供哪些信息,以便更好地协助我解决问题 
祝好,
Stef
finks
2
嘿 @stefanino,过去几天我也遇到了完全相同的问题。看起来安装过程中的 letsencrypt 步骤以某种方式失败了。我已经排除了因触及 letsencrypt 限制而导致失败的可能性,因为我在另一个域名上也得到了相同的结果。我还测试了 GitHub 的安装说明以及 DigitalOcean 的一键部署,两者都因相同的 SSL 错误而失败。
如果通过以下方式禁用 SSL,安装可以成功:
1 个赞
嗨 @finks,感谢你的反馈。
这让我有信心暂时先不使用 SSL。我已经注释掉了 SSL 模板并重新构建了应用。
日志中又出现了一个错误,但这次与 SSL 无关:
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/unicorn-6.0.0/lib/unicorn/configurator.rb:663:in `set_int': too low (< 1): worker_processes=0 (ArgumentError)
在这种情况下,我直接在 app.yml 中将 worker 数量强制设置为 1。
现在 Discourse 已经正常运行,并且可以通过简单的 HTTP 访问。
感谢你的指点。
祝好,
Stef
finks
4