我正在尝试在托管服务器上部署一个JS应用程序(后面是nodejs,前面是reactjs)。我已经对所有内容(后端、前端和数据库)进行了 docker 化,并且一切正常,我可以通过服务器的 IP 地址访问我的应用程序。
现在我正在尝试设置一个域名来指向我的应用程序。
当我尝试从域名访问时(同时仍然通过服务器的 IP 地址进行访问),我遇到了 无效的主机 header
。
我尝试将 HOST:mydomain.com
添加到我的 ReactJS 应用程序的 .env,但收到此错误无法在 mydomain.com 找到开放端口
如果有人能帮助我解决这个问题,我会很高兴:)
最佳答案
鉴于应用程序通过 IP 运行,您可以保留应用程序的配置不变。不要添加 HOST
或任何其他配置。
IP 到名称的映射是使用 DNS 完成的。所以在 DNS 区域中进行 DNS 注册是这样的
mydomain.com A <IP address of app>
其中 A
是 DNS 条目类型。或者向提供商请求为您注册A
条目类型。
出于测试目的,您可以使用主机文件 C:\Windows\System32\drivers\etc\hosts
在任何 Windows PS 上进行映射,其中映射由
<IP address of app> mydomain.com
hosts
仅适用于一台 PC。
添加到 hosts
或 DNS
后,尝试 ping mydomain.com
以确保该名称解析为正确的 IP 地址。
当一台 Web 服务器在一个 IP 上托管多个不同站点时,就会完成 Web 服务器上的映射。但是,当您使用 Docker 时,最好为一项服务使用一个 Docker 容器。
关于node.js - 尝试连接reactjs和域名时主机 header 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56102627/