如何在CentOS防火墙中正确开启443端口实现HTTPS?

在现代服务器管理中,为网站启用 HTTPS(超文本传输安全协议)已成为标准操作,HTTPS 默认使用 443 端口进行通信,在 CentOS 服务器上正确开启此端口是部署安全网站的第一步,本文将详细介绍如何在主流的 CentOS 7 及以上版本中,通过其默认的防火墙管理工具 firewalld 来开启 443 端口。

如何在CentOS防火墙中正确开启443端口实现HTTPS?

检查防火墙状态

在进行任何端口操作之前,首先需要确认 firewalld 防火墙服务正在运行,您可以使用以下命令进行检查:

sudo firewall-cmd --state

如果返回 running,则表示防火墙正在运行,如果没有运行,您需要启动并设置它开机自启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

使用 firewalld 开启 443 端口

firewalld 提供了两种主要的方式来允许流量通过:直接添加端口号或通过预定义的服务,推荐使用服务的方式,因为它更具可读性且易于管理。

通过服务(推荐)

firewalld 内置了 https 服务,该服务默认就指向了 443 端口,这是最简洁、最规范的方法。

  1. 永久添加 https 服务规则--permanent 参数确保此规则在防火墙重启后依然生效。

    sudo firewall-cmd --permanent --add-service=https
  2. 重新加载防火墙配置:为了让永久生效的规则立即应用,需要重新加载 firewalld

    sudo firewall-cmd --reload

通过端口号

如果您不想使用服务,或者需要为非标准应用开启特定端口,可以直接指定端口号和协议(TCP/UDP)。

如何在CentOS防火墙中正确开启443端口实现HTTPS?

  1. 永久添加 443/TCP 端口规则

    sudo firewall-cmd --permanent --add-port=443/tcp
  2. 重新加载防火墙配置

    sudo firewall-cmd --reload

验证端口是否已开启

完成上述操作后,应当验证 443 端口是否已成功开放,您可以通过以下命令查看当前生效的规则:

sudo firewall-cmd --list-all

在输出的信息中,您应该能在 services:ports: 字段中看到 https443/tcp,这表示规则已成功添加。

您还可以使用 ssnetstat 命令检查是否有应用程序(如 Nginx 或 Apache)正在监听 443 端口:

sudo ss -tulpn | grep :443

如果看到类似 nginx: masterhttpd 的进程信息,说明您的 Web 服务器已准备就绪,并且防火墙也已允许流量进入。

为了方便查阅,以下是核心命令的小编总结:

如何在CentOS防火墙中正确开启443端口实现HTTPS?

操作目标 命令 说明
通过服务开启(推荐) sudo firewall-cmd --permanent --add-service=https 永久添加 HTTPS 服务
通过端口开启 sudo firewall-cmd --permanent --add-port=443/tcp 永久添加 443/TCP 端口
应用配置 sudo firewall-cmd --reload 重新加载防火墙使永久规则生效
验证开放的服务 sudo firewall-cmd --list-services 列出所有允许的服务

相关问答 FAQs

问题 1:我已经按照教程开启了防火墙端口,为什么从外部还是无法访问我的网站?

解答: 这通常涉及两个层面的原因,请确认您的云服务提供商(如阿里云、腾讯云、AWS 等)的安全组规则中是否同样放行了 443 端口的入站流量,云服务器的安全组是另一层防火墙,必须与系统防火墙同时配置,检查服务器上的 Web 服务器软件(如 Nginx、Apache)是否已正确配置 SSL 证书并绑定监听在 443 端口上,可以使用 sudo ss -tulpn | grep :443 命令来确认是否有进程在监听该端口。

问题 2:firewalldiptables 有什么区别?我应该使用哪个?

解答: firewalld 是 CentOS 7 及更新版本中默认的动态防火墙管理工具,它引入了“区域”和“服务”的概念,使得配置更加灵活和易于理解。iptables 是更传统的静态防火墙工具,在 CentOS 6 及更早版本中使用,对于现代的 CentOS 系统,强烈推荐使用 firewalld,因为它提供了更友好的管理接口并且能动态应用规则,无需像 iptables 那样在每次更改后都需刷新所有规则,除非您有特殊需求或正在维护旧系统,否则应坚持使用 firewalld

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-11 21:14
下一篇 2025-10-11 21:17

相关推荐

  • CentOS系统中bashd进程异常如何排查解决?

    CentOS 系统中的 bashd 进程是一个值得关注的系统组件,它直接关系到命令行交互和系统管理效率,许多用户在使用 CentOS 时,可能会注意到系统中运行着名为 “bashd” 的进程,但对于其具体功能和重要性并不完全了解,本文将详细解析 bashd 进程的相关知识,包括其定义、作用、常见问题及排查方法……

    2026-01-01
    006
  • Centos系统设置locale环境后,如何验证其是否成功生效?

    CentOS Locale 生效指南什么是Locale?Locale(区域设置)是一种语言和区域特定的数据集合,用于定义字符编码、货币、日期和时间格式等,在Linux系统中,Locale设置对于正确显示和操作不同语言和区域的数据至关重要,CentOS Locale生效步骤查看当前Locale设置我们需要查看当前……

    2026-01-17
    003
  • centos nohup 重定向后日志文件在哪?怎么查看输出内容?

    在Linux服务器管理中,CentOS作为广泛使用的操作系统,其命令行工具为开发者提供了强大的功能,nohup命令结合重定向操作,是实现后台稳定运行任务的重要手段,本文将详细介绍nohup的使用方法、重定向的配置技巧以及实际应用场景,帮助读者掌握这一实用技能,nohup命令的基本概念nohup(no hang……

    2025-12-11
    007
  • CentOS系统下如何获取和查询磁盘UUID的具体操作步骤是啥?

    CentOS磁盘UUID详解及配置什么是磁盘UUID?磁盘UUID(Universally Unique Identifier)是一种用于唯一标识硬盘的数字字符串,在Linux系统中,UUID用于识别系统中的各个硬盘分区,确保在启动时系统能够正确挂载相应的分区,为什么需要磁盘UUID?唯一性:UUID可以确保在……

    2026-01-20
    005

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信