2016-03-29 11 views
1

私は自己署名証明書付きのnodejs httpsサーバで電報ボットを設定しようとしています。Node.jsは電文のデータを返すことができませんwebsocket

SSL証明書:

openssl req -newkey rsa:2048 -sha256 -nodes -keyout key.pem -x509 -days 365 -out crt.pem -subj "/C=IR/ST=A.Sh/L=Tabriz/O=DominoSystem/CN=5.235.36.42" 

非常に単純なサーバー:

var options = { 
    key : fs.readFileSync(__dirname + '/key.pem'), 
    cert: fs.readFileSync(__dirname + '/crt.pem') 
}; 

https.createServer(options, function (req, res) { 
    console.log('https server'); 
    console.log(req.url); 
    res.end('yoo hooo'); 
}).listen(8443,'0.0.0.0'); 

サーバーは、インターネットからアクセス可能である:私ができるOK {"ok":true,"result":true,"description":"Webhook was set"}

を返しsetWebhook https://5.235.36.42:8443/

電報ボット私のファイルウォールで見るログとDUメーター "Open TCP接続" nodejs.exeはテレグラムのデータセンターの1つから接続を受けていて、常にステータスがESTABLISHED、時にはSYN_RCVDであり、その後で閉じる& receive = 0KBですが、nodejsサーバーは任意の要求を受け取る。

私はファイアウォール(Comodo)がポート8443のすべての着信接続を受け入れることを許可しました。私は今、2日間の周り私の頭をバッシングされている

:(誰かが5.9.1が

+0

今、https://5.235にアクセスできません.36.42:8443 /私のサイトから? –

+0

@これは私の個人的なip(ローカル開発システム)であり、ノードサーバーは現時点では実行されていません – Exlord

+0

これに従ってください:https://github.com/yagop/node-telegram-bot-api/blob/master/examples/ httpsWebHook.jsを追加してみましょう:var bot = new TelegramBot( 'BOT_TOKEN'、options); bot.setWebHook( 'IP:PORT/botBOT_TOKEN'、__dirname + '/ crt.pem'); –

答えて

1
は、それを自分自身を固定し、それがあることOKらしい

... pliz

のWindows 8.1のx64、Nodejsを私を助けることができますTelegramは、Windows上でopenssl(8.1)によって生成された証明書を好きではなかった

私は私のlinux(CentOS6)サーバー上の証明書を生成し、今では動作します。。Dを、サーバーに、地元のdevのマシンの両方で