मैं एक ऐप्स जो काफी सामान्य एक्सप्रेस ऐप्लिकेशन है। मुझे कई AJAX अनुरोध करना है। उनमें से कुछ को HTTPS प्रोटोकॉल द्वारा सुरक्षित किया जाना चाहिए (कुछ की आवश्यकता नहीं है)।Node.js, एक्सप्रेस और Heroku - कैसे HTTP और HTTPS को संभालने के लिए? सरल सर्वर तर्क, विचार, क्लाइंट साइड जे एस के बहुत सारे -
तो, अपने सर्वर दोनों HTTP और HTTPS के साथ काम करना चाहिए। यह भी ओ दोनों को स्थानीय मशीन (सामान्य रूप से nodemon साथ भाग गया) और Heroku पर काम करना चाहिए।
जहां तक मैं समझ गया, Heroku आप एक ही बंदरगाह (process.env.PORT) आप सुन सकते हैं देता है, और प्रॉक्सी के माध्यम से सभी अनुरोधों को हैंडल (हां, तो आप एप्लिकेशन को इस बंदरगाह के लिए सुन रहा है और के बारे में परेशान नहीं आद्य - दाएं)
तो, मैं यह सही हो रही है - मैं देव मशीन और Heroku के लिए कुछ अलग कोड होना चाहिए?
तरह
...
app = express()
...
if process.env.NODE_ENV == 'production'
app.listen(process.env.PORT)
else
https = require('https')
http = require('http')
http.createServer(app).listen(5080) # some local port
options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem') # my self-signed files
}
https.createServer(options, app).listen(5443) # some different local port
यह इस से निपटने के लिए उचित तरीका है?
एक त्वरित सवाल है कि हम इस' वापसी res.redirect तरह मेजबान मिल सकता है? –
शायद हाँ, लेकिन क्या के लिए - बस अतिरेक समाप्त करने के लिए? आप ब्राउज़र से शीर्षलेख प्राप्त करते हैं। विन्यास (या env चर) से महत्वपूर्ण मूल्यों हो रही एक्सप्रेस 4 'app.set में मुझे – Guard