@Sviaznoi

Почему браузер не может получить доступ к «/»? 'Cannot GET / '?

Есть код:

const https = require('https');
const express = require('express');
const app = express();
const fs = require('fs');
const bodyParser = require('body-parser');


app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

app.get("/", function(req, res){
    res.sendFile(__dirname, '/index.html');
});

app.post("/mssg", function (req, res){
    console.log(req.body);
    res.redirect('/');
});

const options = {
    key: fs.readFileSync('server.key'),
    cert: fs.readFileSync('server.pem'),
};

https.createServer(options, app).listen(3000, function (req, res) {
    console.log("port 3000");
});


Я его взял из одной статьи и решил проверить. Но браузер, понятно что материться на не защищённый https ( правда к странице пропускает), но в браузере я вижу "Cannot GET /" . И я не пойму почему нет доступа к корню? Я новичок в этом деле потому не судите строго. Да и если не трудно подскажите как сертификаты SSL подписываю?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
alsolovyev
@alsolovyev
¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
Вам надо указать папку со статическими файлами (документация):
...
app.use(express.static(__dirname)) // вот эту строчку добавьте
app.use(bodyParser.urlencoded({ extended: false }));
...


Если вам локально надо подписать сертификаты, то в терминале (habr):
openssl genrsa -out localhost-key.pem 2048

openssl req -new -x509 -sha256 -key localhost-key.pem -out localhost.pem -days 365
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы