我尝试更改 Centos 7 OpenVZ 容器上的默认 Apache 端口,但它不起作用。
curl **.**.**.**:8080 curl: (7) Failed to connect to **.**.**.** port 8080: No route to host
但它可以在标准端口上正常工作:
$ curl -I **.**.**.**
HTTP/1.1 403 Forbidden
Date: Wed, 01 May 2019 01:06:31 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
起初我以为这与 SELinux 政策有关,但当我进一步阅读时,SELinux 不适用于 OpenVZ -Openvz_SELinux。
当我尝试将端口更改为 Centos 7 KVM VM 时,它完美运行(为 SELinux 创建了必要的规则):
$ curl -I **.**.**.**:8080
HTTP/1.1 403 Forbidden
Date: Wed, 01 May 2019 01:09:51 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
之后,我将 OpenVZ 容器上的操作系统更改为 Ubuntu 18.04。它工作正常。
$ curl -I **.**.**.**:8080
HTTP/1.1 200 OK
Date: Wed, 01 May 2019 01:19:57 GMT
Server: Apache/2.4.29 (Ubuntu)
Last-Modified: Fri, 12 Apr 2019 08:09:12 GMT
ETag: "2aa6-58650d16807ed"
Accept-Ranges: bytes
Content-Length: 10918
Vary: Accept-Encoding
Content-Type: text/html
对于这个案例有什么建议吗?
PS Firewalld、iptables 和 ufw 在所有 VPS 上均被禁用。