发生未处理的异常:未定义开发服务器地址信息。

4
当我尝试使用自定义主机名作为SSL的ng serve时,会出现“未处理的异常:未定义Dev-server地址信息”错误。我想知道是否有人对此问题有解决方案。
以下是ng serve命令的详细信息:
ng serve --host myapp.local --port 4200 --ssl --ssl-key 'certs/myapp.local.key' --ssl-cert 'certs/myapp.local.crt'
在主机文件中,myapp.local被设置为127.0.0.1。我还添加了以下选项:
"options": { "disableHostCheck": true, "allowedHosts": ["myapp.local"], "sslCert": "certs/myapp.local.crt", "sslKey": "certs/myapp.local.key", "browserTarget": "latest-angular:build", "host": "myapp.local", "port": 4200, "ssl": true }
如果您有任何帮助,将不胜感激!

请问您能否提供 angular.json 的快照? - Ahmed Bahtity
3个回答

5
在我的情况下,问题出在自签名证书生成不正确上面。 以下命令可以正确生成证书: openssl req -newkey rsa:2048 -keyout localhost.key -x509 -days 3650 -out localhost.crt -nodes -sha256

我认为这里(对我来说)重要的部分是添加了“-nodes”,以便密钥不被加密。 - Ben Thomson

1

我曾经遇到过完全相同的错误,做着同样的事情。

对我来说,问题出在证书位置上——我引用证书时大小写不正确 :facepalm: 修复大小写问题解决了这个问题。

"sslCert": "../Development/ssl/... 应该改为 "sslCert": "../development/ssl/...


对我来说也是一样,我的.crt.key文件的路径错误,因此导致了这个错误。应该检查它是否相对于angular.json - missing_semicolon

0

这个异常通常发生在以下情况下:

问题1:无效的个人证书 可以通过提供适当的证书来解决此问题,要创建自签名本地证书,请使用以下命令使用openssl。

openssl req -newkey rsa:2048 -keyout [keyfilename.key] -x509 -days 3650 -out [certificatefilename.crt] -nodes -sha256

问题2:证书密钥使用了密码短语进行加密。 如果您的密钥受到密码短语的保护,请使用以下命令使用openssl解密。
openssl rsa -in [keyfilename-encrypted.key] -out [keyfilename-decrypted.key]
问题3:证书或密钥文件的路径不正确,ng serve命令选择的是相对于应用基础文件夹而不是src文件夹的路径。您可以通过查找文件'angular.json'来找到应用程序的基础文件夹。

例如:E:\Coding\Urban Online\angular.shoppers.client\client-app\src>ng serve --ssl true --ssl-cert ./urbanonline.selfsigned.crt --ssl-key ./urbanonline.selfsigned.plain.key 在这里,我将证书和密钥放置在了client-app文件夹中。

希望这能帮助像我这样的人在以后遇到类似问题时解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接