限制 Open*** 服务器只能通过域名而不是浏览器上的服务器 IP 访问

Posted

技术标签:

【中文标题】限制 Open*** 服务器只能通过域名而不是浏览器上的服务器 IP 访问【英文标题】:Restrict Open*** server to be accessable only through Domain Name and not the server IP on the browser 【发布时间】:2020-08-21 01:29:49 【问题描述】:

我已经从 GCP Market Place 部署了一个 Open*** 服务器,并附上了一个域名和 SSL 证书。目前,我可以通过这两种方式访问​​服务器

    https://domain-name.com https://x.x.x.x -(服务器静态IP)

我希望服务器只能通过主机名而不是其服务器 IP 访问,因为后一个 URL 会出现 SSL 安全错误,因为 SSL 证书附加到域名而不是服务器 IP。

谁能帮我限制它或给出一些解决它的建议?

【问题讨论】:

1) 您错误地将“open***”名称赋予 http 服务器。 2)改变行为是没有意义的,你实际上不能在那里改变任何东西。 *** 也致力于软件开发,你的问题在这里是题外话。通过SuperUser 或ServelFault 或Ask Ubuntu,您将有更好的机会获得答案。 【参考方案1】:

您可以尝试这样做(防止通过 IP 访问),但我建议您不要尝试这样做。

理论上,当浏览器在握手中发送“错误”SNI(服务器名称指示)时,您的 HTTP 服务器可能会重置 SSL 连接。

因此您可以阻止浏览器显示安全警报。

相反,您的浏览器会显示网络错误消息。

我怀疑您是否愿意将一种错误换成另一种错误。

我建议您不要对此类“错误”采取任何措施,因为合法访问者会通过域名访问您的网站,并且不会看到此类安全警告。

此外,合法访问者(具有偏执心态)很有可能会使用禁用 SNI 功能的浏览器,因此您的服务器将无法区分好 URL 和坏 URL。

PS:reddit 和 ServerFault 和 another one 有相关问题和讨论

【讨论】:

以上是关于限制 Open*** 服务器只能通过域名而不是浏览器上的服务器 IP 访问的主要内容,如果未能解决你的问题,请参考以下文章

如何设置tomcat,使得网站只能用域名访问,不能用IP访问

处理跨域:

CORS跨域问题

跨域问题解决方法

nginx限制访问域名,禁止IP访问

浏览器同域名请求的最大并发数限制