摘要:您是否知道超过 90% 的互联网流量通过端口 443 传输?如果您对网络安全或 Web 开发感兴趣,那么您可能遇到过不同编号的端口,尤其是端口 80 和 443。
您是否知道超过 90% 的互联网流量通过端口 443 传输?如果您对网络安全或 Web 开发感兴趣,那么您可能遇到过不同编号的端口,尤其是端口 80 和 443。
但它们之间有什么区别?简而言之,端口 80 用于 HTTP 流量,端口 443 用于 HTTPS。我们将重点介绍端口 80 与 443、如何打开它们以及何时可能需要将流量从端口 80 重定向到 443。
什么是端口 80?
端口 80是计算机网络上用于网络流量的通信端点。它是超文本传输协议 (HTTP)的默认端口,该协议用于在互联网上传输和接收网页。当您使用网络浏览器访问网站时,浏览器和网络服务器之间的通信通常通过端口 80 进行。
端口 80 在 Internet 协议套件的应用层上运行,该层直接与软件应用程序交互。当通过端口 80 发出 HTTP 请求时,托管您要访问的网站的服务器将接收该请求,并作为响应发回相关的网站数据。
但是您的浏览器如何知道要使用端口 80?这就是统一资源定位符 (URL) 的作用所在。当您在浏览器中输入 URL 时,它通常包含一个隐式端口 80 引用。例如,当您输入 http://www.example.com 时,http:// 部分会告诉您的浏览器使用 HTTP 协议,除非另有说明,否则它将通过端口 80 进行连接。
然而,端口 80 的缺点是它没有加密,这意味着通过此端口发送的数据可能会被外部人员看到。出于这个原因,在过去十年中,大多数网站都已迁移到 HTTPS 和端口 443,它们提供了安全的加密连接。
什么是端口 443?
端口 443是默认的HTTPS 端口,是与安全网络通信关联的端口号。它使用HTTPS 协议,这是 HTTP 的安全版本。该协议采用了强大的安全措施,即传输层安全性 (TLS) 技术。
端口 443 使用 TLS 协议在客户端和服务器之间提供安全连接。这样,通过此端口传输的任何数据都经过加密,从而确保安全连接并保护信息免遭潜在窃听者的攻击。
此端口对于电子商务和网上银行网站至关重要,因为这些网站会传输信用卡号和银行详细信息等敏感数据。
端口 443 还用于其他需要安全连接的服务,包括电子邮件服务器和 VPN。如此广泛的应用使端口 443 成为安全网络不可或缺的一部分。
端口 80 和 443 有什么区别?
虽然端口 80 和 443 在网络通信中都发挥着重要作用,但它们的主要区别在于它们为您在不同服务上的数据传输提供的在线安全级别。让我们看看端口 80 和 443 的用途。
协议和安全
端口 80 与超文本传输协议相关,用于 Web 浏览器和服务器之间的未加密通信。
另一方面,端口 443 与超文本传输协议安全相关,这是 HTTP 的扩展,它通过 TLS 加密来保护在 Web 浏览器和服务器之间传输的数据。
端口 80 以明文形式传输数据,因此容易被拦截和窃取。通过 HTTP 发送的信息未加密。端口 443 加密数据,提供安全的通信通道。HTTPS 有助于保护敏感信息不被恶意实体拦截。
用例和 URL 方案
从历史上看,端口 80 用于一般的 Web 浏览和通信,适用于非敏感信息或公共内容。然而,在当代 Web 实践中,端口 80 正逐渐被淘汰,取而代之的是端口 443。这种转变是由于 HTTPS 的广泛采用,使安全 Web 浏览成为所有在线交互的标准:
使用 HTTP 的 URL 以http://作为前缀。例如, http://www.example.com。
使用 HTTPS 的 URL 以https://作为前缀。例如,https://www.example.com。
证书要求
端口 80无需SSL/TLS 证书。传输以纯文本形式进行,并且不会检查服务器的身份。由于缺乏身份验证,HTTP 容易受到中间人攻击。
相反,HTTPS 要求在服务器上安装 SSL/TLS 证书。此证书用于向客户端验证服务器的真实性并启用数据加密。它确保客户端与目标服务器而不是冒名顶替者进行通信。
如何开放80端口和443端口?
打开端口 80 和 443 的过程很简单,但具体过程取决于您的操作系统。无论是 Windows、Mac、Linux、Ubuntu 还是 CentOS,每个操作系统都有自己的命令和程序。
让我们看看如何在每个平台上执行此操作,重点关注所涉及的技术步骤。
视窗
在 Windows 上打开端口 80 或 443 需要配置内置的 Windows 防火墙。首先,您需要通过在“开始”菜单的搜索栏中输入 Windows 防火墙来访问 Windows 防火墙设置。
现在,要打开端口,请执行以下步骤:
1、打开 Windows 防火墙设置:按 Win + S 打开搜索栏。输入防火墙并选择高级安全 Windows Defender 防火墙。
2、导航到入站规则:在左侧窗格中,单击入站规则。
3、创建新的入站规则:在右侧窗格中,单击“新建规则...”以打开“新建入站规则向导”。
4、选择规则类型:选择端口并单击下一步。
5、指定端口号:选择TCP,输入80或443作为具体的本地端口,点击下一步。
6、选择操作:选择“允许连接”,然后单击“下一步”。
7、选择配置文件:选择适合您情况的配置文件(例如,域、私人、公共)。单击下一步。
8、指定规则名称:输入规则名称(例如,打开端口 443)并提供可选描述。单击完成。
Mac 操作系统
要在运行 macOS 的 Mac 上打开端口 80 和 443,可以使用内置防火墙工具pf(数据包过滤器)。步骤如下:
1、在 Mac 上打开终端。你可以在“应用程序”>“实用程序”>“终端”中找到它。
2、通过运行以下pfctl命令检查防火墙的状态:
sudo pfctl -s all
3、为防火墙规则创建一个新文件。您可以使用任何您熟悉的文本编辑器。在这里,我们将使用 nano 文本编辑器打开配置文件:
sudo nano /etc/pf.conf
4、将以下行添加到pf.conf文件以打开端口 80 和 443:
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 8443
5、这会将流量从端口 80 和 443 分别重定向到端口 8080 和 8443。您可以根据需要调整端口号。
6、保存更改并退出文本编辑器。
7、将新规则加载到pf中:
sudo pfctl -f /etc/pf.conf
8、启用防火墙:
sudo pfctl -e
替代方法
1、打开系统偏好设置:单击屏幕左上角的 Apple 菜单,然后选择系统偏好设置。
2、点击“安全和隐私”。这将打开“安全和隐私”偏好设置。
3、点击防火墙。在防火墙选项卡中,点击窗口左下角的锁图标来解锁。
4、输入您的管理员密码来解锁设置。
5、单击防火墙选项1:这将打开一个新菜单,您可以在其中添加或删除端口。
6、单击+按钮:这将添加一条新规则。
7、输入以下详细信息,然后单击“确定”:
端口号:输入80或443。
名称:输入新规则的名称。
协议:从下拉菜单中选择 TCP。
8、关闭防火墙首选项窗口:您的更改将自动保存。
9、重新启动计算机:此步骤对于使您所做的更改生效是必要的。
Linux(Ubuntu、Debian、CentOS、Fedora)
在 Linux 操作系统上打开端口 80 和 443 需要配置系统上的防火墙。具体步骤可能因您使用的发行版、防火墙选项和所用的管理工具而异。
我们将提供两种常见防火墙工具的说明:ufw(Ubuntu 和一些基于 Debian 的系统使用)和firewalld(Fedora 和一些基于 Red Hat 的系统使用)。
使用 ufw(简单防火墙):
1、检查 ufw 是否已安装:
sudo apt-get update sudo apt-get install ufw
2、如果尚未启用,请启用 ufw:
sudo ufw enable
3、打开端口80和443:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
4、检查状态:
sudo ufw status
使用firewalld:
1、检查是否安装了firewalld:
对于Feodora
sudo dnf install firewalld
For CentOS::
sudo yum install firewalld
2、启动并启用firewalld:
sudo systemctl start firewalld sudo systemctl enable firewalld
3、打开端口80和443:
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent
4、重新加载firewalld以应用更改:
sudo firewall-cmd --reload
5、检查状态:
sudo firewall-cmd --list-all
请记住,这些说明是通用的,可能需要根据您的特定 Linux 发行版进行调整。此外,如果您有不同的防火墙管理工具(例如 iptables),命令会有所不同。请务必参考您的发行版的文档以获取准确且最新的信息。
如何将端口 80 重定向至 443?
您需要修改服务器的配置,将流量从端口 80 重定向到 443。这样做是因为端口 80 用于未加密的 HTTP 流量,而端口 443 用于安全的 HTTPS 流量。通过将端口 80 重定向到 443,您实际上是在强制所有到您服务器的流量使用安全的 HTTPS 协议。
首先,您必须确保您的服务器已设置为处理 HTTPS 流量。这通常涉及获取和安装 SSL(安全套接字层)证书。一旦 SSL 证书到位,您就可以开始重定向流量。
如果您使用的是Apache服务器,则需要修改“.htaccess”文件。将以下几行添加到该文件中:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
将 yourdomain.com 替换为您的实际域名。此代码告诉服务器将端口 80 上的所有传入流量重定向到端口 443 上的相同 URL。
对于Nginx服务器,您需要修改 nginx.conf 文件。将以下行添加到服务器块:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
再次,用您的实际域名替换yourdomain.com 。
常问问题
端口 443 是否易受攻击?
端口 443 本身并不存在漏洞;它用于安全 HTTPS 通信。但是,任何端口的安全性都取决于其上运行的特定配置和服务。
端口 443 会被黑客入侵吗?
是的,443 端口确实可以被黑客入侵。例如,一种常见的方法是利用在此端口上运行的 Web 服务器中的漏洞,例如OpenSSL中的 Heartbleed 漏洞。
端口 443 比端口 80 更安全吗?
是的,端口 443 比端口 80 更安全,因为它与加密的 HTTPS 流量相关联,与端口 80 上的未加密通信相比提供更高级别的安全性。
为何 80 端口易受攻击?
端口 80 容易受到攻击,因为它通常处理未加密的 HTTP 流量,从而使数据面临潜在的拦截和安全风险。
打开端口 80 和 443 是否安全?
如果配置正确,打开端口 80 和 443 是安全的,尤其是对于 Web 服务。但是,请谨慎,因为这些端口上的设置不当或未使用的服务可能会带来安全风险。
端口 80 始终开放吗?
端口 80 并非始终默认打开;其状态取决于系统或网络的配置。在许多情况下,它打开是为了方便 HTTP 流量,但管理员可以根据安全需求选择关闭或修改访问权限。
SSL 是否始终在端口 443 上?
否,SSL 并不总是在端口 443 上,但使用 SSL 或其后继 TLS 的 HTTPS 通常在端口 443 上运行,以实现安全的网络通信。
HTTP 可以在端口 443 上运行吗?
否,HTTP 在端口 80 上运行,而端口 443 通常用于安全加密的 HTTP 连接(HTTPS)。
端口 80 可以用于 HTTPS 吗?
否,端口 80 用于未加密的连接。HTTPS 是 HTTP 的安全版本,通常使用端口 443 进行加密通信。
总结
端口 80 和 443 就像是万维网流量的两条不同高速公路。端口 80 是老式的、不安全的路线,而端口 443 则是现代的安全高速公路。了解端口 80 和 443 之间的区别并知道如何使用它们将有助于您安全地浏览网络。
大多数服务器默认开放端口 443,允许加密传入连接。如果没有,请使用我们的快速说明来了解如何开放端口 80 或将端口 80 重定向到 443。
来源:沃通WoSign