我想重定向所有不安全的http流量來保護spdy服務器。如果我要用https協議打開頁面,我得到了服務器的響應,但是當我嘗試使用http訪問它時,瀏覽器只是繼續旋轉,而我根本沒有響應。expressjs http不能與spdy
const express = require('express')
const https = require('spdy')
const http = require('http')
const ECT = require('ect')
const upload = multer({ dest: __dirname + '../public/uploads/'})
const cookieParser = require('cookie-parser')
const bodyParser = require('body-parser')
const session = require('express-session')
const passport = require('passport')
const redis = require('redis')
const RedisStore = require('connect-redis')(session)
const fs = require('fs')
const url = require('url')
const expressValidator = require('express-validator')
const compression = require('compression')
const _ = require('lodash')
const env = process.env.NODE_ENV || 'production'; // development or production => changes config and secrets settings
const secrets = require('./config/secrets')[env];
const azureconf = require('./config/azure');
const app = express()
const ectRenderer = ECT({ watch: true, root: __dirname + '/views', ext : '.ect', gzip: true });
const client = redis.createClient()
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(expressValidator());
app.set('view engine', 'ect');
app.engine('ect', ectRenderer.render);
app.use(compression())
app.use(express.static(__dirname + '/public', { maxAge: 2419200 }));
app.use(session({
store: new RedisStore({
host:'127.0.0.1',
port: 6379,
client: client
}),
secret:'mostsecuresecretintheworld',
saveUninitialized: false,
resave: true,
cookie: {
path: '/',
httpOnly: false,
secure: true,
maxAge: null
},
domain: 'mydomain.com'
}));
const certOptions = { key: fs.readFileSync('certs/server/my-server.key.pem'), cert: fs.readFileSync('certs/ServerCertificate.crt') };
var unsecureServer = http.createServer(function (req, res) {
res.writeHead(301, { "Location": "https://" + req.headers['host'] + req.url });
res.end();
})
var secureServer = https.createServer(certOptions, app);
secureServer.listen(443);
unsecureServer.listen(80)
我會很感激任何幫助,謝謝。
你使用什麼瀏覽器?即Chrome刪除suppprt爲SDPY http://caniuse.com/#search=spdy – Prinzhorn
https://www.npmjs.com/package/spdy – Makromat