[英]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.