我正在尝试使用namecheap的cPanel和cloudflare托管我用ExpressJS编写的网站,但似乎不知道如何部署它。没有Node.js应用程序的选项,所以我求助于使用我的cPanel的终端来托管它。下面是我用于测试的基本ExpressJS代码:
const express = require('express')
const https = require("https")
const fs = require("fs")
const app = express()
const cert = fs.readFileSync("./cert.crt")
const ca = fs.readFileSync("./ca.ca-bundle")
const key = fs.readFileSync("./private.key")
let options = {
cert: cert,
ca: ca,
key: key
}
let server = https.createServer(options, app)
app.get('/test', (req, res) => {
res.send('Hello World!')
})
server.listen(8080, 'shared ip', () => { console.log("Hosting!") });每当我访问mydomain.com时,测试文件就会正常运行,但当我访问mydomain.com.cn/ index.html时,我就会看到404Not found。在查看GET请求时,我的站点似乎正在使用端口443而不是8080获取服务器的IP。然后,当我转到mydomain.com:8080/test时,我得到了ERR_SSL_PROTOCOL_ERROR。我不太确定该怎么解决这个问题。
发布于 2020-08-19 10:41:46
端口443是默认用于网站的标准TCP端口尝试更改为server.listen(process.env.PORT || 80, () => { console.log("Hosting!") });或server.listen(443, 'shared ip', () => { console.log("Hosting!") });
https://stackoverflow.com/questions/63478971
复制相似问题