简体   繁体   English

使用ParseServer快速连接 - 无法连接 <ip> 端口1337,连接超时

[英]Express with ParseServer - Failed to connect to <ip> port 1337, connection timeout

I configured parse server on my custom server on centos 7. Its working fine when running curl command from this server command prompt for testing its working fine, but when try to call it from my local system terminal using curl then its giving connection timeout. 我在centos 7上的自定义服务器上配置了解析服务器。当从这个服务器命令提示符运行curl命令以测试其工作正常时它工作正常,但是当尝试使用curl从我的本地系统终端调用它时它给出连接超时。 I also try this with my php sdk code. 我也尝试使用我的php sdk代码。

Here is parse server index.js file :--- 这是解析服务器index.js文件:---

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var path = require('path');

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;

if (!databaseUri) {
  console.log('DATABASE_URI not specified, falling back to localhost.');
}

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',    
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',    
  appId: process.env.APP_ID || 'myAppId',    
  masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!    
  serverURL: process.env.SERVER_URL || 'http://<ip addr>:1337/parse',  // Don't forget to change to https if needed    
  liveQuery: {
    classNames: ["Employee"] // List of classes to support for query subscriptions, this database collections directly used at client end

  }
});

// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey

var app = express();

// Serve static assets from the /public folder
app.use('/public', express.static(path.join(__dirname, '/public')));

// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

// Parse Server plays nicely with the rest of your web routes
app.get('/', function(req, res) {
   res.status(200).send('I dream of being a website.  Please star the parse-server repo on GitHub!');
});

// There will be a test page available on the /test path of your server url
// Remove this before launching your app
app.get('/test', function(req, res) {
  res.sendFile(path.join(__dirname, '/public/test.html'));
});


// Web endpoints
//app.get('/', homeController.index);
//app.get('/about', aboutController.index);


var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

// This will enable the Live Query real-time server
ParseServer.createLiveQueryServer(httpServer);

My Php code :- 我的Php代码: -

<?php

require 'autoload.php';

use Parse\ParseClient;
use Parse\ParseObject;
use Parse\ParseQuery;
//use Parse\ParseACL;
//use Parse\ParsePush;
//use Parse\ParseUser;
//use Parse\ParseInstallation;
use Parse\ParseException;
//use Parse\ParseAnalytics;
//use Parse\ParseFile;
use Parse\ParseCloud;

try {
    ParseClient::initialize("myAppId", "", "", true);
    // Users of Parse Server will need to point ParseClient at their remote URL and Mount Point:
    ParseClient::setServerURL('http://<ip address>:1337', 'parse');

//Save data start
    $gameScore = new ParseObject("GameScore");

    $gameScore->set("score", 1337);
    $gameScore->set("playerName", "zakir");
    $gameScore->set("cheatMode", false);


    $gameScore->save();
    echo 'New object created with objectId: ' . $gameScore->getObjectId();
} catch (Exception $ex) {
    // Execute any logic that should take place if the save fails.
    // error is a ParseException object with an error code and message.
    echo 'Failed to create new object, with error message: ' . $ex->getMessage();
}

When run following url in browser this also gives connection timeout:- http://:1337/test 当在浏览器中跟随url运行时,这也会给出连接超时: - http://:1337 / test

Please help me, what can I do to access it from my client side sdk code? 请帮助我,我该怎么做才能从我的客户端sdk代码访问它?

If you can connect to the server from a prompt on your server directly but not from your local terminal, the problem are either some firewall issues (could be a case when using centos) or the parse process not listening on the correct interface. 如果您可以直接从服务器上的提示连接到服务器而不是从本地终端连接到服务器,则问题是某些防火墙问题(使用centos时可能是这种情况)或者解析过程没有在正确的接口上侦听。

Please check which ip address is used when your httpServer is bound. 请检查绑定httpServer时使用的IP地址。 I assume it isn't bound on the correct interface. 我认为它没有绑定在正确的接口上。 To check which services are listening on which interface, try the following: 要检查哪些服务正在侦听哪个接口,请尝试以下操作:

netstat -an | grep LISTEN

If you see something like localhost or 127.0.0.1 there for your port number 1337 , the server must be started with a correct IP to bind to. 如果您看到端口号为1337 localhost127.0.0.1 ,则必须使用正确的IP来启动服务器以进行绑定。 You can pass this as additional parameter like this: 您可以将此作为附加参数传递,如下所示:

httpServer.listen(port, ip, function() { /* ... */ });

Please note that you probably also have to adapt the serverURL property of your parse configuration to match the correct address. 请注意,您可能还必须调整解析配置的serverURL属性以匹配正确的地址。 See here . 看到这里

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

相关问题 FetchError:请求 http://localhost:1337/api/products 失败,原因:连接 ECONNREFUSED 127.0.0.1:1337 - FetchError: request to http://localhost:1337/api/products failed, reason: connect ECONNREFUSED 127.0.0.1:1337 (7) 连接localhost 3000端口失败:连接被拒绝 - (7) Failed to connect to localhost port 3000: Connection refused 到端口的TCP / IP连接失败。 sqoop jdbc连接错误 - TCP/IP connection to the port is failed. sqoop jdbc connection error 无法连接到本地主机端口 8000:Node.js 中的连接被拒绝 - Failed to connect to localhost port 8000: Connection refused in Node.js 节点JS没有监听服务器上的端口1337 - Node JS not listening to port 1337 on server Grunt - 在同一端口上运行Connect和Express服务器 - Grunt — Running a Connect and Express server on the same port NodeJS Express JS-MongoError:无法连接到服务器 - NodeJS Express JS - MongoError: failed to connect to server express.js 4.12连接超时上限? - express.js 4.12 connect-timeout upper limit? 在JScript中使用服务器IP和端口号检查telnet连接 - Check telnet connection with server IP and Port number in JScript Redis 连接到 127.0.0.1:6379 失败 - 连接 ECONNREFUSED - Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM