我终于让我的Angular5服务器运行了。但是当我在端口80上启动它时,我无法通过[domain] .de或https://[domain].de来调用它。只有https://[domain].de:80有效。 为什么会这样?
我通过此命令启动服务器:
ng serve --host [domain].de --port 80 --disable-host-check -ssl true --ssl-cert "/etc/letsencrypt/live/[domain].de/cert.pem" -ssl-key "/etc/letsencrypt/live/[domain].de/privkey.pem"
感谢您的帮助
答案 0 :(得分:2)
您将SSL指定为true,但也指定了端口80.默认情况下,浏览器希望https
位于端口443上,而端口80则不加密。
如果您只是指定主机名而不是方案,则浏览器假定您要在端口80上进行未加密连接。但您的端口80已加密。所以它失败了。
如果您指定https
作为方案但未指定端口号,则浏览器假定您要在端口443上连接。但您正在端口80上运行。所以连接失败了。
因此,如果您同时指定端口号和https
作为方案,则您的网址仅适用于浏览器。
如果您不想指定端口号,最好的办法是使用端口443.如果您仍想在端口80上应答,请在那里设置一些内容以重定向{{1}方案。