2017-02-10 11 views
0

セキュリティで保護されていないHTTPトラフィックをすべてセキュアスパイサーバにリダイレクトしたいと思います。私が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) 

ご協力いただきありがとうございます。

+0

あなたはどのブラウザを使用していますか?私。 ChromeはSDPY用のsuppprtを削除しました。http://caniuse.com/#search=spdy – Prinzhorn

+0

https://www.npmjs.com/package/spdy – Makromat

答えて

0

expressjs HTTP HTTPはSPDYないのでSPDY

では動作しません。これらは全く異なるプロトコルです。

参照:SPDYをサポートするモジュールの

+0

このモジュールは既に使用しています。 https://www.npmjs.com/package/spdy、私はhttps://からの応答を得て、dev2ツールでhttp2を参照しています。 – Makromat

+0

おそらく、私はhttpプロトコルで別のサーバーを作成する必要がありますか? – Makromat

+0

https://webapplog.com/http2-node/ – Makromat

関連する問題