云代码&推送通知可能不可用

时间:2018-02-28 04:39:42

标签: node.js heroku push-notification parse-server cloud-code

以下是我在Parse-Server(/ Heroku)上使用应用程序时遇到的问题。

我一直收到消息:

WARNING, Unable to connect to 'https://myapp.herokuapp.com/'. Cloud code and push notifications may be unavailable!

以下是运行命令时的完整日志:git push heroku master

2018-02-2...+00:00 app[api]: Build started by user me@xyz.com
2018-02-2...+00:00 app[api]: Deploy bduxedc8 by user me@xyz.com
2018-02-2...+00:00 app[api]: Build succeeded
2018-02-2...+00:00 app[api]: Release v25 created by user me@xyz.com
2018-02-2...+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2018-02-2...+00:00 heroku[web.1]: Process exited with status 143
2018-02-2...+00:00 heroku[web.1]: Restarting
2018-02-2...+00:00 heroku[web.1]: State changed from up to starting
2018-02-2...+00:00 heroku[web.1]: Starting process with command `npm start`
2018-02-2...+00:00 app[web.1]: 
2018-02-2...+00:00 app[web.1]: > parse-server-example@1.4.0 start /app
2018-02-2...+00:00 app[web.1]: > node index.js
2018-02-2...+00:00 app[web.1]: 
2018-02-2...+00:00 app[web.1]: parse-server-example running on port 23377.
2018-02-2...+00:00 heroku[web.1]: State changed from starting to up
2018-02-2...+00:00 heroku[router]: at=info method=GET path="/health" host=myapp.herokuapp.com request_id=fb429287-9b14-4373-97ab-30dac19a4db7 fwd="1.2.3.438" dyno=web.1 connect=2ms service=20ms status=404 bytes=217 protocol=https
2018-02-28T04:03:21.595649+00:00 app[web.1]: 
2018-02-28T04:03:21.595660+00:00 app[web.1]: WARNING, Unable to connect to 'https://myapp.herokuapp.com/'. Cloud code and push notifications may be unavailable!
2018-02-28T04:03:21.595663+00:00 app[web.1]: 

如果我在配置中将https更改为http,我会看到完全相同的行为。

如果我尝试在浏览器中访问https://myapp.herokuapp.com/,我可以毫无问题地执行此操作。

我已经阅读了很多关于这个问题的帖子,但没有什么能让我找到解决方案。 如果有人能告诉我如何解决这个问题,那将是很好的。

2 个答案:

答案 0 :(得分:0)

2018-02-2...+00:00 heroku[router]: at=info method=GET path="/health" host=myapp.herokuapp.com request_id=fb429287-9b14-4373-97ab-30dac19a4db7 fwd="1.2.3.438" dyno=web.1 connect=2ms service=20ms status=404 bytes=217 protocol=https

通知状态为404,这不存在,主持人说myapp.herokuapp.com

您是否可能将server_url键设置为字面myapp.heroku.com,或者您是否编辑了应用名称?

答案 1 :(得分:0)

我遇到了这个问题,将来可能会对某人有所帮助。

请注意,这是可能引发此警告的原因之一。 这是用于解析服务器版本:2.8.2

要使用express创建自己的独立解析服务器,涉及的基本步骤接近:

  1. 使用所有的配置创建一个parse-server对象。例如:const api = new ParseServer(config);
  2. config将包含服务器URL以及所有其他要求。
  3. 创建一个快速应用程序对象。例如:const app = express();
  4. 然后将解析服务器API挂载到Express--> app.use(mountPath,api);
  5. 然后创建如下服务器:const httpServer = require('http')。createServer(app);
  6. 然后在如下端口上开始监听:httpServer.listen(port);

一旦调用挂载,解析服务器将通过向/ health端点发出请求来验证配置中提到的url。

如果由于某种原因在安装API(第4点)后侦听端口(第6点)有延迟,则将引发以上警告。

例如,在一种情况下,我正在建立猫鼬连接,然后才开始侦听端口。因此,尽管此后一切正常,但无法从解析服务器验证URL。

可能的解决方案之一是在安装解析API之前完成所有这些工作,并确保如上所述在安装和侦听端口之间没有延迟。

虽然这可能不是在heroku上创建解析服务器的确切步骤,但想法是:

解析服务器将在配置中提到的服务器网址上调用验证网址。

如果在将解析api设为Moute后启动服务器时出现延迟,则会引发上述警告。