首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >迁移到CloudFlare后Chrome中的无效重定向错误

迁移到CloudFlare后Chrome中的无效重定向错误
EN

Stack Overflow用户
提问于 2018-12-12 07:08:07
回答 1查看 218关注 0票数 1

我的站点www.exampartner.in运行在一个EC2实例上,它使用连接到我在bigrock.in上购买的域的NodeJS。为了使用SSL,我迁移到了CloudFlare,但是自从迁移到CloudFlare之后,我的站点就出现了问题。主要问题是在将https重定向设置为页面规则后,我在javascript、徽标和ham pic上遇到的无效重定向错误。然后,我禁用了它,并试图通过HTTP加载这些资源,但仍然失败。现在,我也禁用了SSL,该页面似乎正在工作。我附上了屏幕截图作为参考。请帮帮忙。谢谢。这是我的routes.js:

代码语言:javascript
运行
AI代码解释
复制
var express = require('express');
var router = express.Router();
var passport = require('passport');

router.get('/login', function (req, res, next) {
    res.render('login', { message: req.flash('loginMessage'), user: req.user });
});

router.get('/', function (req, res) {
    res.render('mainpage', { user: req.user });
});

router.get('/signup', function (req, res, next) {
    res.render('signup', { message: req.flash('signupMessage'), user: req.user });
});
// process the login form
router.post('/login', passport.authenticate('local-login', {
    successRedirect: '/profile', // redirect to the secure profile section
    failureRedirect: '/login', // redirect back to the signup page if there is an error
    failureFlash: true // allow flash messages
}));


// app.post('/signup', do all our passport stuff here);
router.post('/signup', passport.authenticate('local-signup', {
    successRedirect: '/profile', // redirect to the secure profile section
    failureRedirect: '/signup', // redirect back to the signup page if there is an error
    failureFlash: true // allow flash messages
}));
// =====================================
// PROFILE SECTION =====================
// =====================================
// we will want this protected so you have to be logged in to visit
// we will use route middleware to verify this (the isLoggedIn function)
router.get('/profile', isLoggedIn, function (req, res) {
    res.render('profile', {
        user: req.user // get the user out of session and pass to template
    });
});

// =====================================
// LOGOUT ==============================
// =====================================
router.get('/logout', function (req, res) {
    req.logout();
    res.redirect('/');
});
// };

// route middleware to make sure a user is logged in
function isLoggedIn(req, res, next) {

    // if user is authenticated in the session, carry on 
    if (req.isAuthenticated())
        return next();

    // if they aren't  logged redirect them to the home page
    res.redirect('/');
}

router.post('/login', passport.authenticate('local-login', {
    successRedirect: '/profile', // redirect to the secure profile section
    failureRedirect: '/login', // redirect back to the signup page if there is an error
    failureFlash: true // allow flash messages
}));

router.get('/bitsat', function (req, res) {
    res.render('bitsat', { user: req.user });
})

router.get('/aieee', function (req, res) {
    res.render('aieee', { user: req.user });
})

router.get('/ip', function (req, res) {
    res.render('ip', { user: req.user });
})

router.get('/jeemain', function (req, res) {
    res.render('jeemain', { user: req.user });
})

router.get('/jeeadvanced', function (req, res) {
    res.render('jeeadvanced', { user: req.user });
})

router.get('/jeemain/:year', function (req, res) {
    res.render(__dirname + '/views/jee_main/' + req.params.year, { user: req.user });
});

router.get('/jeemain/:year/:paper', function (req, res) {
    var filename = req.params.paper.substr(0, 2) + 'April' + req.params.year
    var mor = req.params.paper.indexOf('Morning')
    var eve = req.params.paper.indexOf('Evening')
    if (mor !== -1) {
        filename = filename + req.params.paper.substr(mor, req.params.paper.length)

    }
    if (eve !== -1) {
        filename = filename + req.params.paper.substr(eve, req.params.paper.length);
    }
    res.download(__dirname + '/downloads/jee_main/' + req.params.year + '/' + filename + '.pdf')
});

router.get('/bitsat/:op', function (req, res) {
    res.render(__dirname + '/views/bitsat/' + req.params.op, { user: req.user });
});

router.get('/bitsat/:op/:year', function (req, res) {
    res.download(__dirname + '/downloads/bitsat/' + req.params.op + '/' + req.params.year + '.pdf')
});



module.exports = router;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-13 04:59:30

编辑:为了使用Cloudflare的严格SSL,您需要在服务器上安装证书。让我们加密提供免费的SSL证书,每90天更新一次。如果这个过程看起来很困难,您可以使用零SSL,这使得从我们加密获得证书以及更新现有证书变得很容易。

您必须设置express来处理https请求/响应。Node.js应用程序需要ssl证书和密钥。

代码语言:javascript
运行
AI代码解释
复制
const express = require('express')
const fs = require('fs')
const https = require('https')
const app = express()



https.createServer({
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.cert')
}, app)
.listen(process.env.PORT || 3000, function () {
  console.log('"App Listening at port:" + port')
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53745938

复制
相关文章
RestEasy 默认 http 返回头部没有Content-Length
没有content - length 字段 因为要对方是http长连接,需要根据长度获取包体,性能好一些。 长连接有沾包的问题,要用Content-length切割body
MickyInvQ
2020/09/27
1.2K0
RestEasy 默认 http 返回头部没有Content-Length
【AngularJS】 # AngularJS入门
ng-app 指令定义一个 AngularJS 应用程序。 若不声明,将直接显示表达式。
全栈程序员站长
2022/09/15
23.6K0
【AngularJS】 # AngularJS入门
mysql中length函数_length中文
归纳: 应用场景 1.查询字符串长度length(str) 2.查询列最大字符串长度max(length(str)) 3.查询某个字符出现几次 length(str1)-length(replace(‘str1’,’str2’,”)) 4.length求得是字符长度。 【1个中文、英文字母、数字、中文符号、英文符号、全角符号、空格都算1个字符】
全栈程序员站长
2022/08/18
2.6K0
mysql中length函数_length中文
push is not a function data.length返回undefined解决方案-Javascript学习笔记
于是我尝试使用length看能不能获取他的长度然后循环放入其他变量再赋值回去能否解决,竟然length也获取不到长度
田小檬
2023/08/24
4040
string的length方法(数组length方法)
The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property
全栈程序员站长
2022/07/25
9040
TypeError: object()
对于上面这个错误,很容易迷惑我们,因为这个错误信息没有很明确的指出,到底是哪段代码除了问题。那这个错误是怎么产生的了,请听我细细道来。
py3study
2020/01/06
1.1K0
LENGTH 和 CHAR_LENGTH 的区别
char(N) 和 varchar(N) 这里的N指的是字符长度,而不是字节长度。就是说可以插入N个字符的长度的内容(不管插入的是英文还是中文,反正是按照长度算的)。
保持热爱奔赴山海
2019/09/18
1.1K0
Python报错TypeError: '<' not supported between instances of 'str' and 'int'
分析:input()返回的数据类型是str,不能直接和整数进行比较,必须先把str换成整数,使用int()方法
BH8ANK
2021/01/28
5K0
【AngularJS】—— 1 初识AngularJs
怀着激动与忐忑的心情,开始了学习AngularJS的旅程,很久之前就听说了这个前端框架,但是由于自己一直没有从事相关的工作,因此也没有进行学习。这次正好学习AngularJS,直接复习一下前端的知识。目前这里还是弱点,慢慢深入的学习。   AngularJS是Google的优秀的前端框架,目前已经应用于多个产品。   通过w3cschool.cc的学习,简单的了解了下它的使用方法,但是对于原理还没有理解。   AngularJs相对于其他的框架来说,有一下的特性:   1 MVVM   2 模块化
用户1154259
2018/01/17
2.8K0
关于Java中length、length()、size()的区别
@return the length of the sequence of characters represented by this object.
全栈程序员站长
2022/07/01
1.1K0
SQL函数 LENGTH
LENGTH 返回一个整数,表示给定字符串表达式的字符数,而不是字节数。字符串表达式可以是字符串(从中删除尾随空格)或数字( IRIS 将其转换为规范形式)。
用户7741497
2022/04/08
2K0
【AngularJS】—— 2 初识AngularJs(续)
前一篇了解了AngularJS的一些简单的使用,这里继续跟着w3c学习一下剩下的内容。   本篇根据w3cschool.cc继续学习AngularJS剩余的内容,包括:   1 事件   2 模块   3 表单   4 数据验证   5 bootstrap CSS风格   6 include包含其他页面   7 应用程序   8 参考手册   首先看一下html的事件   关于html的事件,文中给出了三个例子,点击、隐藏、显示。使用方法基本相同:   先看一下点击的例子,点击按钮后,会触发ng-clic
用户1154259
2018/01/17
2.3K0
python:TypeError: mu
 今天遇到这个错误: Traceback (most recent call last):   File "t2.py", line 14, in <module>     print Derived().meth()   File "t2.py", line 10, in meth     super(Derived,self).meth() TypeError: must be type, not classobj 试验代码如下: class Base():     def meth(self):   
py3study
2020/01/07
6170
JavaScript对象length
前几日有在Javascript数组操作一文中稍提及了数组的length属性;深入一点探究,就发现JS这length确有许多难为所知的特性。这就边学边探究下这朵奇葩属性;这里边深入边记载。 可变的数组length属性 和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。下面
晚晴幽草轩轩主
2018/03/27
2.6K0
SQL函数 $LENGTH
$LENGTH 返回指定字符串中的字符数或指定字符串中的子字符串数,具体取决于使用的参数。
用户7741497
2022/03/25
1.8K0
Length of Last Word
1. Description 2. Solution class Solution { public: int lengthOfLastWord(string s) { int
Tyan
2019/05/25
1K0
Length of Last Word
问题:最后一个单词的长度 分析,注意s=" a  b  "这种情况,从后遍历单词,遇到空格退出 class Solution { public: int lengthOfLastWord(const char *s) { int len=strlen(s); int sum=0; while(s[len-1]==' ') len--; for(int i=len-1;i>=0;i--) { if(
用户1624346
2018/04/17
1.2K0
TypeError: Network request failed
在使用react-native 进行网络请求时,报了这样的一个错误TypeError: Network request failed, 在检查自己代码没有错误的情况下,去设置一个xCode便可以走通,
杭州前端工程师
2018/06/15
3.3K0
点击加载更多

相似问题

从solaris移植到linux?

10

将shell脚本从Solaris移植到Linux

13

将应用程序从Solaris移植到Linux

44

将代码从Linux移植到Windows

23

将代码从Linux移植到MinGW

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档