你好,我想更改 apache2 中的端口。我在标准端口 http=80 https=443 上运行 owncloud。出于某些原因,我需要将 https 端口从 443 更改为 8443。我见过很多解决方案,但都无法得到我想要的百分百结果。我只希望当我写主机名“服务器”时,我只会看到我的 owncloud 页面。当我写我的 ipadress 时,我不需要提到端口号,但当我写“服务器”时,我需要提到端口号 8443,这样它就可以正常工作了。我正在使用 Ubuntu 16.04 LTS。我已经尝试了虚拟主机上的所有方法,也尝试了 ports.conf。如果有人知道,请告诉我一些解决方案。提前谢谢
答案1
浏览器知道默认端口(80、443)。http://
也是默认端口。因此,当你写
server
你的浏览器实际上发出了请求
http://server:80/
如果你输入
https://server/
您的浏览器将发出请求
https://server:443/
事实上,情况要复杂一些,因为你不能直接访问网络名称。浏览器找到服务器的 IP 并发出请求
http://<ip of server>:80/
并告诉服务器该请求是针对的server
,因为您还可以在同一个 IP 地址上托管server1
、、 ...。server2
您将无法让浏览器默认请求端口 8443。您必须将其写入地址中。
您所描述的问题对我来说并不全都清楚,但看起来它们都与 apache 配置以及浏览器无法默认转到 8443 端口有关。
当您在 apache 中定义 VirtualHost 时,您必须指定ServerName
。客户端将到达服务器的 IP,但 apache 需要知道请求了哪个服务器名称才能返回正确的页面。如果您仅使用 IP 访问服务器,则名称将不会发送给 apache,它将返回默认页面。我怀疑您的情况就是这样,因为您说浏览 IP 有效。我怀疑它对默认端口号有效。
我希望我能至少帮助解答一些疑问。