默认情况下使用http运行时如何使用https运行Angular?

P S*_*tro 6 ssl https angular

默认情况下,如果我们运行与它们一起运行的 Angular 应用程序 http(例如 on http://localhost:4200)。

如何将其转换http为使用https

P S*_*tro 7

简单的修复是而不是运行:

ng s -o
Run Code Online (Sandbox Code Playgroud)

使用额外的属性运行它:

ng s -o ---ssl true
Run Code Online (Sandbox Code Playgroud)

它将继续运行https://localhost:4200。但是,如果您有一个.crt和一个.key文件,则还要添加该属性。

您将看到一个以 https 开头的浏览器,尽管它会说“不安全”作为警告。


如果您只想在 https 上运行并且不关心“不安全”消息,这就足够了。如果您确实关心,请继续执行进一步的说明。

ng s -o ---ssl true --ssl-key <path to key file>  --ssl-cert <path to crt file>
Run Code Online (Sandbox Code Playgroud)

或给出相对路径.key.crt文件。

如果您不想每次都提供这些属性,或者不想为 angular运行一个完整的NGINX服务器,那么在 angular 版本中angular.jsonangular-cli.json根据 angular 版本添加这些属性:

ng s -o
Run Code Online (Sandbox Code Playgroud)

sslkeysslcert如果你没有不需要.key.crt文件。

在这里,我假设两个文件都在sslsrc的目录中。现在, runningonlyng s -o足以通过angular.json文件使用证书。


如何仅为您的机器或仅为一个用户创建 localhost 的临时修复程序。

要求:

  1. Git bash(从这里下载

现在转到 Git bash 并一次输入一个命令

git clone https://github.com/RubenVermeulen/generate-trusted-ssl-certificate.git(cloned to local computer)
cd generate-trusted-ssl-certificate(Going to application path)
bash generate.sh(starting shell script wher we called openssl)
Run Code Online (Sandbox Code Playgroud)

克隆的应用程序使用 openssl(用于保护计算机网络通信免受窃听或需要识别另一端的一方的应用程序的软件库)生成.crt.key文件

它将创建server.keyserver.crt归档。

现在点击 server.crt

对于 OS X

  1. 双击证书(server.crt)
  2. 选择您想要的钥匙串(登录就足够了)
  3. 添加证书
  4. 如果尚未打开,请打开钥匙串访问
  5. 选择您之前选择的钥匙串
  6. 您应该会看到证书 localhost
  7. 双击证书
  8. 扩大信任
  9. 选择使用此证书时始终信任选项
  10. 关闭证书窗口

视窗 10

  1. 双击证书(server.crt)
  2. 单击按钮“安装证书...”
  3. 选择是要存储在用户级别还是机器级别
  4. 点击下一步”
  5. 选择“将所有证书放入以下存储区”
  6. 点击“浏览”
  7. 选择“受信任的根证书颁发机构”
  8. 点击“确定”
  9. 点击下一步”
  10. 点击“完成”
  11. 如果出现提示,请单击“是”

证书现已安装。

现在将证书存储在一个ssl目录中。

现在使用命令行提供 ssl 密钥和证书,或将这些文件添加到angular.json(或angular-cli.json,取决于您的 Angular 版本)。

您不会看到任何“不安全”,如果您单击地址栏旁边的锁定图标,它将显示“安全”。

但是,如果您将在其他人的笔记本电脑上运行该应用程序,它将显示“不安全”,因为他们尚未安装证书(受信任)。

  • 你是对的,不用担心反对票@P Satish (2认同)