节点服务器在端口80上运行但不能通过域调用它

时间:2018-06-15 03:09:13

标签: node.js angular ubuntu npm server

我终于让我的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"

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您将SSL指定为true,但也指定了端口80.默认情况下,浏览器希望https位于端口443上,而端口80则不加密。

如果您只是指定主机名而不是方案,则浏览器假定您要在端口80上进行未加密连接。但您的端口80已加密。所以它失败了。

如果您指定https作为方案但未指定端口号,则浏览器假定您要在端口443上连接。但您正在端口80上运行。所以连接失败了。

因此,如果您同时指定端口号和https作为方案,则您的网址仅适用于浏览器。

如果您不想指定端口号,最好的办法是使用端口443.如果您仍想在端口80上应答,请在那里设置一些内容以重定向{{1}方案。