将ssl与meanjs结合使用

将ssl与meanjs结合使用,ssl,gruntjs,meanjs,Ssl,Gruntjs,Meanjs,我有一个平均的应用程序,更多的是在角度方面,而不是节点方面。它的工作很好,但我正在尝试使用内置工具和生成的ssl代码。有一个名为“安全”的内置grunt任务,可以在端口443上为您运行应用程序 // Secure task(s). grunt.registerTask('secure', ['env:secure', 'lint', 'concurrent:default']); 运行meanjs附带的ssh生成脚本后。我在env/all.js文件中添加了: secure: {

我有一个平均的应用程序,更多的是在角度方面,而不是节点方面。它的工作很好,但我正在尝试使用内置工具和生成的ssl代码。有一个名为“安全”的内置grunt任务,可以在端口443上为您运行应用程序

// Secure task(s).
grunt.registerTask('secure', ['env:secure', 'lint', 'concurrent:default']);
运行meanjs附带的ssh生成脚本后。我在env/all.js文件中添加了:

    secure: {
    ssl: true,
    privateKey: './config/sslcerts/key.pem',
    certificate: './config/sslcerts/cert.pem'
},
运行应用程序“sudo grunt secure”:

运行“并发:默认”(并发)任务运行“监视”任务 正在运行“nodemon:dev”(nodemon)任务等待

[nodemon]v1.2.1 [nodemon]要随时重新启动,请输入
rs
[nodemon]观看: app/views/**/。gruntfile.js server.js config/***/.js app/***/.js

[nodemon]启动
节点--debug server.js
调试器侦听端口 5858使用“安全”环境配置加载的应用程序

安全地使用https协议应用程序在端口443上启动

我还没有切换到html5路线,但我计划

因此,现在我的URL看起来像示例/#/应用程序/搜索。点击“如果未登录,您将被重定向到/#”/登录等等。http上的一切都很好。当我试图进入chrome时,谷歌会提示我允许,这是正常的ssl行为,但当我进入chrome时,页面是空白的。它应该在看

app/views/**/。gruntfile.js server.js config/***/.js app/***/.js

但是,当查看页面源代码时,它并没有在端口3000上拉入所有它应该或通常做的脚本,只有一些基本的脚本。 节点端也没有任何请求。很明显,因为我在点击localhost,而不是localhost/#/应用程序/搜索。据我所知,它并没有把脚本拉进去。不管我做什么,它都没有击中正确的路线。我不知道还有什么可以作为证据。就像我说的,从咕噜开始,一切都很好。我以前从未将ssl与meanjs一起使用过,所以我不确定还需要做些什么

决心

我刚才发了这个。。。有时候思考问题确实有帮助。所以我找到了源代码,发现问题是它没有加载我需要的文件。。。原因是什么?我的env/secure.js'grunt secure'跳过任何其他env/file。所以我复制我的资产:{}, secure:{},db:“”从“all.js”到secure.js的对象

'use strict';

module.exports = {
    port: 443,
    //db: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://localhost/testing',
    secure: {
        ssl: true,
        privateKey: './config/sslcerts/key.pem',
        certificate: './config/sslcerts/cert.pem'
    },
    db: 'mongodb://localhost/app',
    //assets: {
    //  lib: {
    //      css: [
    //          'public/lib/bootstrap/dist/css/bootstrap.min.css',
    //          'public/lib/bootstrap/dist/css/bootstrap-theme.min.css'
    //      ],
    //      js: [
    //          'public/lib/angular/angular.min.js',
    //          'public/lib/angular-resource/angular-resource.min.js',
    //          'public/lib/angular-animate/angular-animate.min.js',
    //          'public/lib/angular-ui-router/release/angular-ui-router.min.js',
    //          'public/lib/angular-ui-utils/ui-utils.min.js',
    //          'public/lib/angular-bootstrap/ui-bootstrap-tpls.min.js'
    //      ]
    //  },
    //  css: 'public/dist/application.min.css',
    //  js: 'public/dist/application.min.js'
    //},
    assets: {
        lib: {
            css: [
                'public/lib/bootstrap/dist/css/bootstrap.css',
                'public/lib/bootstrap/dist/css/bootstrap-theme.css',
                'public/lib/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css',
                'public/lib/angular-xeditable/dist/css/xeditable.css'
            ],
            js: [
                'public/lib/angular/angular.js',
                'public/lib/angular-resource/angular-resource.js',
                'public/lib/angular-cookies/angular-cookies.js',
                'public/lib/angular-animate/angular-animate.js',
                'public/lib/angular-touch/angular-touch.js',
                'public/lib/angular-sanitize/angular-sanitize.js',
                'public/lib/angular-ui-router/release/angular-ui-router.js',
                'public/lib/angular-ui-utils/ui-utils.js',
                'public/lib/angular-bootstrap/ui-bootstrap-tpls.js',
                'public/lib/angular-smart-table/dist/smart-table.js',
                'public/lib/angular-autoFields-bootstrap/autofields.js',
                'public/lib/angular-autoFields-bootstrap/autofields-bootstrap.min.js',
                'public/lib/jquery/dist/jquery.min.js',
                'public/lib/moment/min/moment.min.js',
                'public/lib/bootstrap/dist/js/bootstrap.min.js',
                'public/lib/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js',
                'public/lib/angular-bootstrap-datetimepicker-directive/angular-bootstrap-datetimepicker-directive.min.js',
                'public/lib/angular-ui-router-tabs/src/ui-router-tabs.js',
                'public/lib/angular-xeditable/dist/js/xeditable.min.js',
                'public/lib/angular-ui-mask/dist/mask.js',
                'public/lib/angular-resource/angular-resource.js',
                'public/lib/lodash/lodash.js',
                'public/lib/restangular/dist/restangular.js',
                'public/lib/ngprogress/build/ngprogress.js',
                'public/lib/angular-scroll/angular-scroll.js'
            ]
        },
        css: [
            'public/modules/**/css/*.css',
            'public/lib/ngprogress/ngProgress.css'
        ],
        js: [
            'public/config.js',
            'public/application.js',
            'public/modules/*/*.js',
            'public/modules/*/*[!tests]*/*.js'
        ],
        tests: [
            'public/lib/angular-mocks/angular-mocks.js',
            'public/modules/*/tests/*.js'
        ]
    }
};