我最近在node.js上确保我的网站使用https而不是纯http。但是,一旦这样做,我意识到如果要访问我的网站,则必须输入:80后缀。为什么是这样? chrome不会默认使用端口80,https://localhost是否足够?
const port = 80;
https.createServer({
key: fs.readFileSync('./private/ssl/server.key'),
cert: fs.readFileSync('./private/ssl/server.cert')
}, app)
.listen(port, function () {
console.log('Server running on port: ' + port);
});
app.get('/', (req, res) => {
res.sendFile('index.html', { root: path.join(__dirname, './') });
});
app.use(express.static('./public'));```
答案 0 :(得分:1)
HTTPS的默认端口是443,而不是80。
答案 1 :(得分:0)
请注意,默认情况下,HTTPS使用端口443,这可能是造成混乱的原因。
如果您在浏览器的地址栏中同时指定了https
和:80
,则您正在向端口80发出HTTPS请求,这很不寻常。
您将获得什么样的答复取决于服务器的配置。