узел js экспресс-перенаправление https на https www - PullRequest
0 голосов
/ 03 октября 2018

Я нашел много вопросов о перенаправлении URL, но, возможно, мой случай немного отличается.Мне нужно перенаправить https://example.com на https://www.example.com,, чтобы избежать экрана «Ваше соединение не является приватным».

Я попробовал это предложение ниже, но не работало с слишком большим количеством перенаправленийlog ...

app.get('*', function(req, res, next) {
    if (req.headers.host.slice(0, 3) != 'www') {
        res.redirect('https://www.' + req.headers.host + req.url, 301);
    } else {
       next();
    }
});

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вы можете проверить перед перенаправлением всех запросов.Просто перенаправьте только запросы от http.Не путайте с URL регулярным выражением.

app.use (function (req, res, next) {
    if (req.secure) {
            next()
    } else {
            res.redirect('https://' + req.headers.host + req.url);
    }
});`
0 голосов
/ 03 октября 2018

Извините, я бы прокомментировал вместо ответа, но пока не набрал достаточно очков.: (

a) Как вы это развертываете?б) Почему вы используете этот метод?

Полагаю, я не понимаю - обычно вы хотите, чтобы ваш хост, такой как goDaddy, или любой другой хост выполнял перенаправление www на своем конце.Технически это поддомен.

Почти всегда, когда я развертываю http на https, я позволяю что-то вроде nginx или apache выполнять работу или перенаправление https, которое обрабатывает сертификат ssl.

Я думаю, что немного больше информации будет полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...