数字海洋管理部署的rails APP未响应http(返回404)



我遵循了这篇由三部分组成的教程,并在托管数字海洋应用程序中成功部署了Rails应用程序。

在本地,我可以使用httpie获取资源,并使用POST创建新用户,例如:

http :8080/signup name=test email=test@email.com password=foobar password_confirmation=foobar

但是,一旦部署在数字海洋上,在这个url上使用有效的TCP健康检查,我就尝试创建一个用户(使用http://poster(:

http mtserver-igkkx.ondigitalocean.app:8080/signup name=test email=test@email.com password=foobar password_confirmation=foobar

最终得到:

HTTP/1.1 301 Moved Permanently
CF-RAY: 6d851c0f7951408d-CDG
Cache-Control: max-age=3600
Connection: keep-alive
Date: Fri, 04 Feb 2022 16:00:02 GMT
Expires: Fri, 04 Feb 2022 17:00:02 GMT
Location: https://mtserver-igkkx.ondigitalocean.app/signup
Server: cloudflare
Transfer-Encoding: chunked
Vary: Accept-Encoding

假设我需要在URL前面加https,我会用重试

http https://mtserver-igkkx.ondigitalocean.app:8080/signup name=test email=test@email.com password=foobar password_confirmation=foobar

最终得到:

http: error: SSLError: HTTPSConnectionPool(host='mtserver-igkkx.ondigitalocean.app', port=8080): Max retries exceeded with url: /signup (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)'))) while doing a POST request to URL: https://mtserver-igkkx.ondigitalocean.app:8080/signup

如果我尝试与邮递员一起发帖:

POST > mtserver-igkkx.ondigitalocean.app:8080/signup?name=test&email=test@mail.com&password=foobar&password_confirmation=foobar

它返回:

{
"status": 404,
"error": "Not Found"
}

当访问"/"上的服务器URL时,它返回404,但我认为这是正常的,因为它只应在API模式下工作,并且当前没有路由处理/。

我期待着了解如何在生产中处理数字海洋,以便能够通过http请求在这个API上创建用户。

根据记录,ssl是问题所在。

您需要通过数字海洋完成添加SSL证书的过程,以便在查询带前缀的url时使用https(以及您的web应用程序(。

这篇没有回复的SO帖子帮助我找到了一个好的过程。

相关内容

  • 没有找到相关文章

最新更新