通过HTTPS的Ember CLI服务器

fkvaft9z  于 2022-12-03  发布在  其他
关注(0)|答案(3)|浏览(185)

有没有可能在Ember的CLI服务器上启用HTTPS协议?我们的企业OAuth系统只允许通过HTTPS进行重定向,所以我在没有这个的情况下有点麻烦。

7dl7o3gd

7dl7o3gd1#

请注意,从ember-cli 0.2.6开始,您的应用程序可以通过https提供服务。您只需要将server.key和server.crt文件添加到ssl/文件夹中。
在ember-cli文件中添加

{
    ...,
    "ssl": true
}

也可以将其作为命令行参数ember s --ssl=true传递

生成自签名证书

遵循以下说明(此处复制):https://devcenter.heroku.com/articles/ssl-certificate-self

先决条件

需要openssl库来生成您自己的证书。在您的本地环境中运行以下命令以查看您是否已经安装了openssl。

which openssl
/usr/bin/openssl

如果which命令没有返回路径,那么您需要自己安装openssl:
| 如果您有...|安装方式...|
| - -|- -|
| 操作系统|Homebrewbrew install openssl|
| windows |Windows complete package .exe installer|
| Ubuntu Linux操作系统|apt-get install openssl|

生成私钥和证书签名请求

创建SSL证书需要私钥和证书签名请求。这些可以通过几个简单的命令生成。
openssl req命令要求输入“challenge password”时,只需按回车键,将密码留空即可。证书颁发机构使用此密码来验证证书所有者是否需要撤销其证书。由于这是自签名证书,无法通过CRL(证书撤销列表)撤销它。
有关详细说明,请参阅创建SSL证书签名请求。
第一个

生成SSL证书

自签名SSL证书由server.key私钥和server.csr文件生成。
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
server.crt文件是您的站点证书,适合与Heroku’s SSL add-on沿着server.key私钥一起使用。

dldeef67

dldeef672#

编辑:我想我误解了最初的问题--关于如何通过SSL进行本地开发,请参见the answer above
Ember CLI的服务器绝对不应该被用来服务生产中的应用程序。Ember应用程序是静态文件,Ember CLI的存在只是为了帮助你构建这些静态文件。
一旦你准备好部署Ember CLI应用程序,运行ember build。这会把你的项目编译到一个dist文件夹中,其中包含了所有的静态资产。然后你可以使用任何你喜欢的web服务器来部署这些资产。
在此处阅读有关部署的更多信息:http://www.ember-cli.com/#deployments。

anauzrmj

anauzrmj3#

我将以@萨姆的回答作为开场白:请不要在生产环境中使用。
现在,我不知道你的技术堆栈是什么样子,但是当我在本地测试我的应用程序,需要通过HTTPS代理我的请求时,我使用NGINX作为通过SSL到我的本地服务器的反向代理。(注意我的服务器已经在NGINX上运行,所以这对我来说是一个非常简单的解决方案)。

server {
    listen *:4443; // Arbitrary Port Number

    location / {
        proxy_pass https://HOST_NAME:443/;
    }
}

我这样运行我的ember服务器:

ember server --proxy http://HOST_NAME:4443

相关问题