Я запускаю приложение, которое свободно основано на приложении с угловым заполнением. Он имеет как http-сервер, так и https-сервер с тем же самым экспресс-приложением. Мое приложение отлично работает на моей локальной машине, в http или https, даже когда я запускаю NODE_ENV="production" node server/app.js
. Однако, когда я нажимаю папку dist на мой экземпляр AWS ec2, приложение работает только для http://example.com
, а не https.Экспресс Служебные файлы из разных мест на https
По адресу https, я получаю Error: ENOENT, stat 'client/index.html' at Error (native)
. У меня нет клиентской папки, мой клиентский код, такой как index.html, находится в папке с именем public. Я не понимаю, почему этот контент правильно подан в http, но не https, и был бы благодарен, если бы кто-то мог мне помочь.
//Server/app.js file
var app = express();
var httpsServer = require('https').createServer(credentials, app);
var httpServer = require('http').createServer(app);
httpsServer.listen(httpsPort, config.ip, function() {
console.log('https Express server listening on %d, in %s mode', httpsPort, app.get('env'));
});
httpServer.listen(httpPort, config.ip, function() {
console.log('http Express server listening on %d, in %s mode', httpPort, app.get('env'));
});
var env = app.get('env');
app.set('views', config.root + '/server/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(compression());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(cookieParser());
app.use(passport.initialize());
console.log(env)
if ('production' === env) {
app.use(favicon(path.join(config.root, 'public', 'favicon.ico')));
console.log(path.join(config.root, 'public'));
app.use(express.static(path.join(config.root, 'public')));
app.set('appPath', config.root + '/public');
app.use(morgan('dev'));
}
if ('development' === env || 'test' === env) {
console.log('i am overwriting everything');
app.use(require('connect-livereload')());
app.use(express.static(path.join(config.root, '.tmp')));
app.use(express.static(path.join(config.root, 'client')));
app.set('appPath', 'client');
app.use(morgan('dev'));
app.use(errorHandler());
}
env
журналы как 'production'
. path.join(config.root, 'public')
бревна до /home/ubuntu/www/public/
I am overwriting everything
никогда не регистрируется.