我有一个sails
应用程序,digitalocean
通过dokku
托管。每次运行和部署都很好,如果我继续使用我的域名,我可以看到应用程序正在运行。
现在我已经添加了一个TLS证书(以便我的应用可通过HTTPS访问):
config/local.js
dokku certs:add
所以,如果我将我的应用程序推送到dokku,它会在部署阶段没有任何错误的情况下启动。我可以清楚地看到,在部署时,我的应用程序应该可以通过buildpack日志中的https访问:
...
-----> Creating https nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
-----> Setting config vars
DOKKU_APP_RESTORE: 1
-----> Shutting down old containers in 60 seconds
=====> c302066ebd1ecc0ac5323c3cbbcaf9132eebf905f5616e5b4407cecf2b316969
=====> Application deployed:
http://my-domain-here.com
https://my-domain-here.com
唯一的问题是,当我导航到我的域时,我在浏览器中出现“502 bad gateway”错误,如果我查看应用程序的nginx错误日志,我可以看到以下错误:
2016/07/14 03:09:30 [error] 7827#0: *391 upstream prematurely closed connection while reading response header from upstream, client: --hidden--, server: my-domain-here.com, request: "GET / HTTP/1.1", upstream: "http://172.17.0.2:5000/", host: "getmocky.com"
有什么问题?如何解决?
答案 0 :(得分:0)
好的,我已经弄清楚了。事实证明,如果你仔细阅读Sails中的deployment,你会看到像
这样的文字不用担心配置Sails以使用SSL证书。 SSL几乎总是在您的负载均衡器/代理服务器或您的PaaS提供商处解决
这意味着从我的列表中我必须排除p3,之后一切都会有效。