Ubuntu 22.04用ufw开放HTTP端口80和HTTPS端口443
如果您计划在 Ubuntu 22.04 Jammy Jellyfish Linux 系统上托管网站,则需要允许 HTTP 端口 80 和 HTTPS 端口 443 通过防火墙,否则传入连接将无法到达 Web 服务器。
Ubuntu 22.04默认使用ufw防火墙,它代表“不复杂的防火墙”。启用防火墙后,默认情况下它将阻止所有传入连接。如果您希望托管任何服务(例如 Web 服务器),则需要配置 ufw 防火墙以允许某些端口上的传入连接。
在本教程中,我们将解释如何使用 ufw 防火墙在 Ubuntu 22.04 Jammy Jellyfish 上打开 HTTP 端口 80 和 HTTPS 端口 443。 HTTP 和 HTTPS 协议主要由 Web 服务使用,例如但不限于 Apache 或 Nginx Web 服务器。
在本教程中您将学习:
如何打开HTTP端口80和HTTPS端口443
如何为Apache和Nginx打开HTTP端口80和HTTPS端口443
如何列出当前打开的端口/服务
如何关闭/删除 HTTP 端口 80 和 HTTPS 端口 443
Ubuntu 22.04 Focal Fossa开放HTTP端口80和HTTPS端口443分步说明
默认情况下,在 Ubuntu 22.04 上,用于 http 连接的端口 80 和用于 https 的端口 443 被阻止,因为您只能从实际的本地主机访问此端口,而不能从任何其他公共主机访问此端口。要打开端口 80 和 443,我们需要添加一条 iptables 规则。为此,Ubuntu 使用 ufw。
我们应该做的第一件事是打开命令行终端并检查 ufw 防火墙的当前状态。
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
根据上述输出(相关部分以粗体显示),默认情况下所有传入端口都被阻止。
关于如何打开端口 80 和 443,我们有多种选择。首先,我们可以直接指定端口号或我们希望打开端口的服务。例子:
$ sudo ufw allow 80 $ sudo ufw allow 443 OR $ sudo ufw allow http $ sudo ufw allow https
或者,如果我们希望打开特定 Web 服务器(例如 Apache 或 Nginx)的端口,我们可以执行以下命令:
$ sudo ufw allow in "Apache Full" OR $ sudo ufw allow in "Nginx Full"
检查您当前的防火墙配置设置:
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 80 ALLOW IN Anywhere 443 ALLOW IN Anywhere 80 (v6) ALLOW IN Anywhere (v6) 443 (v6) ALLOW IN Anywhere (v6)
如果您稍后决定需要删除端口 80 和 443 规则,可以通过执行以下命令来执行此操作:
$ sudo ufw delete allow 80 $ sudo ufw delete allow 443 OR $ sudo ufw delete allow http $ sudo ufw delete allow https
或者,如果您需要删除为 Apache 或 NGINX Web 服务器设置的规则,请执行以下命令:
$ sudo ufw delete allow in "Apache Full" $ sudo ufw delete allow in "Nginx Full"
结束语
在本教程中,我们学习了如何在 Ubuntu 22.04 Jammy Jellyfish Linux 上通过 ufw 防火墙打开 HTTP 端口 80 和 HTTPS 端口 443。只要没有其他设备过滤到您的 Ubuntu 22.04 服务器的流量,您的网站就应该可以通过端口 80 或 443 访问互联网上的任何 IP 地址。