node.js - 使用 nodejs 重定向到 https 并在 Heroku 中表达
问题描述
我在 Heroku 上托管我的网页并希望重定向到 HTTPS。我正在使用 Nodejs 和 Express。
我尝试了此代码,但是当我访问该页面时,出现以下错误:
我非常努力地将我的页面重定向到 HTTPS,但无法做到。我会很感激你的帮助!
var express = require("express");
var app = express();
var bodyParser = require('body-parser');
var nodemailer = require("nodemailer");
var favicon = require('serve-favicon');
var path = require('path');
var mongoose = require ('mongoose');
const sslRedirect = require('heroku-ssl-redirect')
app.all('/*', function (req, res, next) { // eslint-disable-line
if (/^http$/.test(req.protocol)) {
const host = req.headers.host.replace(/:[0-9]+$/g, '') // strip the port # if any
return res.redirect(301, `https://${host}${req.url}`)
}
return next()
})
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(express.static('public'));
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.set("view engine", "ejs");
app.get("/jobs", function(req, res){
res.render("jobs");
});
app.get("/", function(req, res){
res.render("home");
});
app.get("/galerie", function(req, res){
res.render("gallerie");
});
app.get("/team", function(req, res){
res.render("team");
});
app.get("/uns", function(req, res){
res.render("uns");
});
app.get("/contact", function(req, res) {
res.render("contact");
});
const port = process.env.PORT || 3000;
const ip = process.env.IP || "127.0.0.1";
app.listen(port,function(){
console.log("Server has started .... at port "+ port+" ip: "+ip);
});
解决方案
推荐阅读
- bash - 如何在 iterm 中使用 vi 键绑定删除内部文本
- ssl - 如何调试sqlplus瘦客户端连接
- c++ - 通过以下方式纠正 std::vector 迭代器失效是否有效?
- scripting - 如何将 GET 方法的响应写入 ServiceNow API 到输出文件并在脚本中将其下载到我的本地计算机?
- javascript - 在哪里可以找到 Gmail API 的可能查询参数表
- typescript - 无法将道具传递给功能组件的简单打字稿错误
- c# - 使用 dotnet pack 将多个平台打包成一个包
- windows - 错误地将 .py 文件设置为默认记事本
- php - 如何在Vue组件中获取当前登录用户的用户对象
- r - 如何将多个符号参数紧凑地传递给函数?