प्रत्युत्तर देना लोड नहीं कर रहा है मैं एक https node.js सर्वर शुरू करने की कोशिश कर रहा हूं।node.js https सर्वर
मैं एक प्रमाण पत्र बनाने और महत्वपूर्ण इस गाइड का पालन करके शुरू किया:
http://gaboesquivel.com/blog/2014/nodejs-https-and-ssl-certificate-for-development/
और मैं उन्हें अपने /app_name/security/keys
निर्देशिका में रख दिया गया।
मेरी https सर्वर प्रारंभ करने के लिए, मैं निम्नलिखित है:
const https = require('https'),
fs = require('fs');
if(app.get('env') === 'development') {
console.log('dev env!!'); //prints correctly
console.log('port: ' + port); //prints correctly
const options = {
key: fs.readFileSync('./security/keys/key.pem'),
cert: fs.readFileSync('./security/keys/cert.pem')
};
https.createServer(options, (req, res) => {
console.log('https good to go'); //this does not print out anything
}).listen(port);
}
जब मैं https://localhost:3000
पर जाते हैं, पेज एक त्रुटि फेंकता
This site can’t be reached
localhost unexpectedly closed the connection.
ERR_CONNECTION_CLOSED
लेकिन वहाँ सर्वर साइड कंसोल पर कोई त्रुटि है। इसके अलावा, अगर मैं नियमित localhost:3000
में जाओ, मैं मिलता है:
The localhost page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE
किसी की मदद कर सकते हैं?
अग्रिम धन्यवाद!
---- अद्यतन ----
मैं पोर्ट 443 पर अब चल रहा हूँ।
Error: listen EACCES 0.0.0.0:443
तो मैं भागा:
sudo NODE_ENV=development nodemon app
कौन सा किसी भी त्रुटि फेंक नहीं था शुरू में मैं एक त्रुटि मिल गया। हालांकि, जब मैं https://localhost:443
के पास गया, मैं:
This site can’t be reached
localhost unexpectedly closed the connection.
मुझे लगता है कि इसके साथ संबंधित हो सकता है:
var app = require('express')();
आप दो लाइन में इस परिभाषा विभाजित कर सकते हैं अगर यह अधिक पठनीय है बंदरगाह, https सामान्य रूप से 443 बंदरगाह पर काम करता है। तुम कोशिश कर सकते हो। –
यदि कोई पोर्ट नहीं दिया गया है तो यह 443 पर काम करता है। पोर्ट निरंतर परिभाषित किया गया है। – tanaydin
गोटा - मैंने 443 पर चलने की कोशिश की लेकिन मुझे अभी भी 'यह साइट तक नहीं पहुंचा जा सकता है'। मैंने अपने प्रश्न को अधिक त्रुटि विवरण के साथ अपडेट किया। –