繁体   English   中英

无法从 Digital Ocean Droplet 访问已部署的应用程序

[英]Unable to access deployed app from Digital Ocean droplet

编辑

问题已解决,请参阅此 github 问题以获取解决方案 这与我的应用程序强制 SSL 有关,而没有安装 SSL 证书。 这就是连接被拒绝的原因。 此外,Chrome 还强行将http重定向到https

问题

我已经使用 DigitalOcean 的 droplet 在 Dokku 上部署了一个应用程序,但不幸的是我无法访问,我无法从 dokku 外部向我的应用程序发出任何请求。

这是应用程序的服务器日志,应用程序服务器在端口 5000 上运行(我猜是在 docker 容器内?)

2021-01-29T15:54:55.631984450Z app[web.1]: Puma starting in single mode...
2021-01-29T15:54:55.632155110Z app[web.1]: * Version 4.3.5 (ruby 2.7.0-p0), codename: Mysterious Traveller
2021-01-29T15:54:55.632257250Z app[web.1]: * Min threads: 5, max threads: 5
2021-01-29T15:54:55.632416330Z app[web.1]: * Environment: production
2021-01-29T15:54:59.477622282Z app[web.1]: D, [2021-01-29T15:54:59.477398 #10] DEBUG -- : BONSAI_URL not present, proceeding with Elasticsearch defaults.
2021-01-29T15:55:01.789462413Z app[web.1]: * Listening on tcp://0.0.0.0:5000
2021-01-29T15:55:01.790215291Z app[web.1]: Use Ctrl-C to stop

这是我的应用程序端口映射

Proxy enabled:                 true
Proxy port map:                http:80:5000
Proxy type:                    nginx

这是我的docker ps -a output

root@dokku-ubuntu-s-1vcpu-2gb-sgp1-01:~# docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
29a40b74890a        dokku/propertysafe:latest     "/start web"             23 minutes ago      Up 23 minutes                                   propertysafe.web.1
159102b6127b        2ab94a5f043a                  "/bin/bash -c 'mkdir…"   23 minutes ago      Exited (0) 23 minutes ago                       naughty_sammet
a2dc93fff2dd        dd5cbe9f96db                  "/bin/bash -c 'mkdir…"   23 minutes ago      Exited (0) 23 minutes ago                       interesting_margulis
5861efa15abf        cc49b1d8e228                  "/build"                 26 minutes ago      Exited (0) 24 minutes ago                       peaceful_napier
e25ce8a7c7e2        9c8964c4fb67                  "/bin/bash -c 'cat >…"   26 minutes ago      Exited (0) 26 minutes ago                       dreamy_morse
410dbbc9cc4c        b197a493cfba                  "/bin/bash -c 'mkdir…"   26 minutes ago      Exited (0) 26 minutes ago                       crazy_hodgkin
5555c7890af0        gliderlabs/herokuish:latest   "/bin/bash -c 'mkdir…"   26 minutes ago      Exited (0) 26 minutes ago                       eager_meitner
287b083012b6        postgres:11.6                 "docker-entrypoint.s…"   2 hours ago         Up 2 hours                  5432/tcp            dokku.postgres.app_db

并且ufw防火墙已允许http流量。

每次我命中液滴 IP 时,我都会收到连接被拒绝错误。

通常如果 Dokku 应用程序没有响应外部请求,那是因为应用程序本身不允许外部网络请求。 这可以通过运行来检查:

# replace $APP with your app name
curl --include $(dokku network:report --network-web-listeners $APP)

如果命令没有成功并获得预期的响应,那么它是您的应用程序中的某些内容。 如果它确实成功了,那么很可能外部的东西正在阻止请求。 在这种情况下,许多用户最终会在他们的服务器前安装 Cloudflare 或类似设备,这可能会由于配置错误而导致网络问题。

建议跳上Gliderlabs Slack以获得对此类问题的更直接支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM