你如何在开发中从https:// localhost:4200提供ember-cli

kiw*_*ver 15 ember.js ember-cli

要使我们的身份验证与我们的ember应用程序一起使用,我们需要从安全网址提供应用程序.我们有一个自签名的ssl证书.

如何设置ember-cli以为index.html提供https域名.

干杯

mun*_*llj 20

另请参阅/sf/answers/2140245411/.

如果您将始终使用SSL,则可以"ssl": true.ember-cli项目的文件中设置,这将导致ember serve命令在默认情况下使用SSL,而不必每次都传递命令行标志.

默认情况下,ember-cli将在项目根目录中查找server.keyserver.crt文件的ssl文件夹,但您也可以使用和选项自定义它以提供备用路径.--ssl-key--ssl-cert

如果您还没有自签名的SSL证书进行开发,可以按照以下说明轻松生成一个:https://devcenter.heroku.com/articles/ssl-certificate-self

示例.ember-cli:

{
  "disableAnalytics": false,
  // Use SSL for development server by default
  "ssl": true,
  "ssl-key": "path/to/server.key",
  "ssl-cert": "path/to/server.crt"
}
Run Code Online (Sandbox Code Playgroud)


MrV*_*inz 5

编辑

对于谷歌来说,这已不再适用.使用ember-cli --ssl

THX到xdumaine 7月12日在10:08***

强调文字你不能直接来自ember-cli而不把你的手放在我不推荐的代码中:)

如果你想这样看看:node_modules/ember-cli/lib/tasks/server/express-server.js也可能会进入node_modules/ember-cli/lib/tasks/server/livereload-server.js

对于那些仍想通过Web服务器的人:

然而,有其他更清洁的解决方案,例如使用nginx作为(反向)代理:)或直接从/ dist文件夹上的nginx服务:)反向基本示例与nginx(没有尝试与ssl但理论上应该工作:p ):

server {
   listen 443;
   server_name *.example.com;
   ssl on;
   ssl_certificate /path/to/your/certificate.crt;
   ssl_certificate_key /path/to/your/key.key;
   location / {
      proxy_pass http://localhost:4200;
   }
}
Run Code Online (Sandbox Code Playgroud)

我说nginx,但实际上任何网络服务器都可以做到这一点:)

NaB不用于ember serve生产

  • 对于谷歌来说,这已不再适用.使用`ember-cli --ssl` (2认同)