我有这个:https://194.16.222.100/
对应于www.skanetrafiken.se
。
使用这个,虽然网络浏览器说有 SSL 错误,但我可以访问网页。但是,当我删除 HTTP 中的“s”时,例如http://194.16.222.100/
,它不会打开任何东西,并说“错误请求(无效主机名)”
有人能解释一下为什么删除 HTTPS 中的“s”后它不起作用吗?
答案1
前缀是正在使用的协议。HTTP 是纯文本,HTTPS 是通过 SSL 的 HTTP。我假设这不是您自己的服务器,因此错误很可能可以解释为...
1) SSL 证书适用于“www.skanetrafiken.se”,而您是通过 IP 地址访问的,因此浏览器会由于不匹配而发出警告。
2) 域/主机可能未配置为通过 HTTP 提供服务。您需要访问主机配置才能确定这一点,但 Bad Hostname 让我倾向于相信这一点。
参考: HTTPS Apache 虚拟主机
答案2
Http 协议使用端口 80。因此,当您输入 http://194.16.222.100/您实际上是尝试通过端口 80 连接到服务器。
如果您使用 Https,则默认使用端口 443,并且您的浏览器会尝试验证来自您的网络服务器的证书。
如果您想使用 http,请确保您的服务器正在监听端口 80,但请注意,通过 http 的所有流量都是未加密的,因此不要发送任何密码等。
答案3
您没有获取任何网页的原因:服务器上的 Apache(我假设)将 www.skanetrafiken.se 配置为“虚拟主机”,这意味着只有当请求以该域名作为请求 URL 中的域名时,才会提供网页。如果您希望服务器响应基于 IP 地址的 URL,则需要通过编辑 httpd.conf 或其他自定义配置文件(例如 domains-available 中的某些内容)来配置 Apache。
Apache 配置的大量帮助可从以下网址获取http://serverfault.com。