更新 1:

更新 1:

我正在家里设置一个网络服务器,主要是为了拥有一个 nextcloud 服务器。我已经在 LAMP 堆栈上设置并运行了网站。现在我需要转发我的虚拟主机端口。但是我的 ISP 阻止了端口 80,所以我继续canyouseeme.org,他们没有阻止端口 90。因此,我在路由器 90、90 中设置了端口转发,包括协议和 IP 地址。进入apache2.conf添加NameVirtualHost *:90。然后在我的domain.com.conf文件中我将 更改为<VirtualHost *:80><VirtualHost *:90>最后在ports.conf文件中我添加了行Listening 90

但是我仍然无法从外部计算机访问。我是否忽略或错过了什么?

更新 1:

当我运行该命令时,sudo lsof -i tcp:90 | egrep LISTEN我的输出是:

apache2   739     root    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16275 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16276 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16277 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16278 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16279 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)
apache2 16280 www-data    8u  IPv6  50229      0t0  TCP *:90 (LISTEN)

更新 2:

当我从外部计算机运行 nmap 时,我进入端口 90 I have Discovered open port 90/tcp on my-public-ip90/tcp open dnsix syn-ack ttl 253在端口 80 上我进入80/tcp filtered http no-response.

但是我可以使用 从外部访问网站内容my.ip.add.res:90。但是它只发送 html 内容,没有 css。而且我无法通过域名访问它。

答案1

使用 Nginx 可以轻松更改每个 vhost 的端口,但使用 Apache,我的印象是您还需要编辑 ports.conf 文件,例如:

sudo nano /etc/apache2/ports.conf

然后重新启动 Apache。

答案2

在您用于访问服务器的 URL 中包含端口号。例如。http://www.example.com:90因为您的浏览器要寻找的默认端口是 http 的 80 和 https 的 443。

相关内容