Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当默认情况下使用http运行时,如何使用https运行Angular?_Angular_Ssl_Https - Fatal编程技术网

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

当默认情况下使用http运行时,如何使用https运行Angular?,angular,ssl,https,Angular,Ssl,Https,默认情况下,如果我们运行Angular应用程序,它们将使用http(例如,在http://localhost:4200) 如何将其从http转换为使用https?简单修复程序取代了运行: ng s -o 使用额外属性运行它: ng s -o ---ssl true 它将在https://localhost:4200。但是,如果您有一个.crt和一个.key文件,那么也可以添加该属性 您将看到一个以https开头的浏览器,尽管它会说“不安全”作为警告 如果您只想在https上运行,而不关心“

默认情况下,如果我们运行Angular应用程序,它们将使用
http
(例如,在
http://localhost:4200


如何将其从
http
转换为使用
https

简单修复程序取代了运行:

ng s -o
使用额外属性运行它:

ng s -o ---ssl true
它将在
https://localhost:4200
。但是,如果您有一个
.crt
和一个
.key
文件,那么也可以添加该属性

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


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

ng s -o ---ssl true --ssl-key <path to key file>  --ssl-cert <path to crt file>
如果没有
.key
.crt
文件,则不需要
sslkey
sslcert

这里,我假设这两个文件都在
ssl
dir中,其中src。现在,只运行
ngs-o
就足以通过
angular.json
文件使用证书


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

要求:

  • gitbash()
  • 现在转到gitbash,一次键入一个命令

    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)
    
    克隆的应用程序使用openssl(用于保护计算机网络通信安全以防窃听或需要识别另一端的参与方的应用程序的软件库)生成.crt.key文件

    它将创建
    server.key
    server.crt
    文件

    现在点击server.crt

    适用于OS X

  • 双击证书(server.crt)
  • 选择所需的钥匙链(登录即可)
  • 添加证书
  • 打开钥匙链访问(如果尚未打开)
  • 选择先前选择的钥匙链
  • 您应该看到证书localhost
  • 双击证书
  • 扩大信任
  • 选择使用此证书时始终信任的选项
  • 关闭证书窗口
  • Windows 10

  • 双击证书(server.crt)
  • 单击按钮“安装证书…”
  • 选择是将其存储在用户级还是计算机级
  • 单击“下一步”
  • 选择“将所有证书放入以下存储”
  • 单击“浏览”
  • 选择“受信任的根证书颁发机构”
  • 单击“确定”
  • 单击“下一步”
  • 单击“完成”
  • 如果收到提示,请单击“是”
  • 证书现在已安装

    现在将证书存储在
    ssl
    目录中

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

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

    但是,如果你在别人的笔记本电脑上运行应用程序,它会显示“不安全”
    由于他们没有安装证书(受信任)。

    不需要什么花哨的东西,只需在开始脚本中添加标志
    --https
    ,即可完成

    例如:


    要在https上运行angular应用程序,请执行以下步骤。 npm安装-g angular http服务器

    指向站点的Cd路径(&D)位于dist文件夹中(ClientApp/dist)

    角度http服务器-o

    默认情况下,在8080端口和http上运行

    使用-p指定端口,例如Angular http server-p 44367-o

    要启用https,必须使用--key和--cert标志手动指定自签名证书的路径

    角度http服务器--https--key c:/localhost.key--cert c:/localhost.crt-p 44367-o 或 角度http服务器--https--密钥“存储密钥的路径”--证书“路径”

    如果本地计算机上未安装ssl,您可能会在此时看到一些错误

    若机器上未安装OpenSSL,请从下面的链接下载

    命令生成OpenSSL

    openssl req-new-x509-newkey rsa:2048-sha256-nodes-keyout localhost.key-days 3560-out localhost.crt-config certificate.cnf

    下面的链接描述如何创建证书,配置CLI以使用

    https和信任Windows上的证书


    可能重复,但是,这是angularjs的,他想使用$http(特定)使其成为httpsupdate此问题答案不必担心否决票@p SatishI不知道如何添加问题答案,这是您提出问题时的推荐方式,它将显示一个复选框来回答您的问题,我跟着。我错了还是不合适@saurabhkamble?你是对的,不要担心反对票@P Satishwith https选项出错“未知选项:'--https'”我相信它应该是--ssl而不是--https
    "scripts": {
        "start": "webpack-dev-server --content-base src/ --progress --inline --hot --https"
    }