Javascript 具有ssl和静态文件服务的node.js
我有一个问题,当我添加app.use(express.static(\uu dirname+'/public'))时,我无法设置一个支持ssl的节点js服务器,并且也可以通过此ssl提供静态文件。文件是从https常规服务器提供的。 有人试过这样做吗Javascript 具有ssl和静态文件服务的node.js,javascript,node.js,ssl,Javascript,Node.js,Ssl,我有一个问题,当我添加app.use(express.static(\uu dirname+'/public'))时,我无法设置一个支持ssl的节点js服务器,并且也可以通过此ssl提供静态文件。文件是从https常规服务器提供的。 有人试过这样做吗 //require engines var express = require('express'); var session = require('express-session'); var bodyParser = requ
//require engines
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser')
//init express engine
var app = express();
//using
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
var activeport = process.env.PORT ? process.env.PORT : 4003;
if (process.env.NODE_ENV === "production") {
var fs = require('fs');
var https = require('https');
var options = {
key: fs.readFileSync(global.appRoot + '/xxx.pem'),
cert: fs.readFileSync(global.appRoot + '/yyy.crt'),
passphrase: "123123",
requestCert: false,
rejectUnauthorized: false
};
var server = https.createServer(options, app).listen(activeport, function () {
console.log('Server listening on port ' + activeport);
});
}
else {
app.listen(activeport, function () {
console.log('Server listening on port ' + activeport);
});
}
试试这个:
const path = require('path'); // <--- Require this
app.use(express.static(path.join(__dirname, '/dist')));
const path=require('path');// 好的,明白了。
因为我使用Azure作为我的主机提供商,Azure为您提供所有SSL支持,所以我不需要创建专用的https服务器:
var server = https.createServer(options, app).listen(activeport, function () {
console.log('Server listening on port ' + activeport);
});
我所需要做的就是将我的web.config添加到以下代码中——永久重定向到https url
<!-- Redirect all traffic to SSL -->
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
您确定处于生产模式吗?看起来你可能真的在else街区