首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用gulp连接将http重定向到https

如何使用gulp连接将http重定向到https
EN

Stack Overflow用户
提问于 2017-03-23 18:30:33
回答 2查看 1.2K关注 0票数 1

如何在Heroku上强制https (将http重定向到https)?

我已经在Heroku上配置了SSL,如果我在域前面加上https://前缀,我的网站就会工作得很好。

gulpfile.js

代码语言:javascript
运行
复制
'use strict';

var gulp = require('gulp');
var $ = require('gulp-load-plugins')();
var history = require('connect-history-api-fallback');

gulp.paths = {
  src: 'src',
  dist: 'dist',
  tmp: '.tmp',
  e2e: 'e2e'
};

require('require-dir')('./gulp');

gulp.task('default', ['clean'], function () {
  gulp.start('build');
});

gulp.task("serve:production", function(){
  $.connect.server({
    root: './dist',
    port: process.env.PORT || 3004,
    middleware: function(connect, opt) {
      return [
        history({})
      ]
    }
  });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-03 22:25:17

我以前成功地使用过这个包。配置非常简单。

https://www.npmjs.com/package/express-sslify

代码语言:javascript
运行
复制
var express = require('express');
var http = require('http');
var enforce = require('express-sslify');

var app = express();

// Use enforce.HTTPS({ trustProtoHeader: true }) in case you are behind 
// a load balancer (e.g. Heroku). See further comments below 
app.use(enforce.HTTPS());

http.createServer(app).listen(app.get('port'), function() {
    console.log('Express server listening on port ' + app.get('port'));
});
票数 2
EN

Stack Overflow用户

发布于 2018-08-19 14:56:58

我已经设法使它与gulp一起工作,我在其中创建了express实例,配置了,并将它作为中间件传递给连接。

有了这一点,我已经在配置SSL证书的Heroku上部署了SSL,但是在我的本地计算机中,SSL没有被配置。

代码语言:javascript
运行
复制
var connect = require('gulp-connect');
var express = require('express');

gulp.task('connect', function() {

    var app = express();
    app.enable('trust proxy');
    app.use (function (req, res, next) {
            if (req.secure) {
                    next();
            } else {
                if (req.headers.host !== 'localhost:8081'){
                  res.redirect('https://' + req.headers.host + req.url);
                } else {
                    next();
                }
            }
    });

    connect.server({
      port: process.env.PORT || 8081,
      middleware: function(connect, opt) {
        return [app];
      }
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42984207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档