#html #node.js #express #web
#HTML #node.js #экспресс #веб
Вопрос:
Я уже некоторое время пытаюсь разобраться в этом, но не могу найти ничего, что помогло бы. Мой серверный код довольно прост
const path = require('path');
const https = require('https');
const http = require('http');
const fs = require('fs');
const express = require('express');
const socketio = require('socket.io');
const e = require('express');
const { isObject } = require('util');
const { fstat } = require('fs');
var options = {
cert: fs.readFileSync('./cert.pem'),
key: fs.readFileSync('./privkey.pem'),
};
const app = express();
const server = https.createServer(options, app);
const io = socketio(server);
// Set static folder
app.use(express.static('public', { dotfiles: 'allow'}));
//app.use('/', express.static(('public', { dotfiles: 'allow'})));
const PORT = process.env.PORT || 80;
server.listen(PORT, "0.0.0.0", () => console.log(`Server running on port ${PORT}`));
Я использовал certbot для ssl, но когда я захожу в свой домен (работает, если я переключаюсь на http), он выдает ERR_EMPTY_RESPONSE . Есть идеи, почему это происходит? Заранее спасибо.
Комментарии:
1. Установлен ли process.env.PORT? Если он не установлен, для него будет установлен порт 80. Однако для https базовый порт по умолчанию равен 443 вместо 80. wiki / TLS
2. Боже, я не могу поверить, что я это пропустил. Я думаю, что работа над проектом в течение целого дня без перерыва может быть не очень хорошей. Спасибо за помощь! : D