CentOS 修改 443 端口指南
背景介绍

443 端口是 HTTPS 协议使用的默认端口,用于加密网络通信,在某些情况下,默认的 443 端口可能会受到攻击或者与其他服务冲突,因此需要修改端口,本文将介绍如何在 CentOS 系统中修改 443 端口。
修改步骤
停止服务
在修改端口之前,首先需要停止相关服务,以下以 Apache 和 Nginx 为例:
- Apache:
sudo systemctl stop httpd
- Nginx:
sudo systemctl stop nginx
修改配置文件
Apache: 打开 Apache 的配置文件
/etc/httpd/conf/httpd.conf,找到Listen 443行,将其修改为新的端口号,Listen 8443。Nginx: 打开 Nginx 的配置文件
/etc/nginx/nginx.conf,找到listen 443行,将其修改为新的端口号,listen 8443;。
修改 SSL 配置
Apache: 修改 SSL 配置文件
/etc/httpd/conf.d/ssl.conf,找到SSLCertificateFile和SSLCertificateKeyFile行,确保它们指向正确的 SSL 证书和私钥文件。
Nginx: 修改 SSL 配置文件
/etc/nginx/conf.d/default.conf,找到server块,修改listen 443为新的端口号,并确保ssl_certificate和ssl_certificate_key指向正确的 SSL 证书和私钥文件。
重启服务
Apache:
sudo systemctl start httpd sudo systemctl enable httpd
Nginx:
sudo systemctl start nginx sudo systemctl enable nginx
测试配置
使用以下命令测试配置文件是否有错误:
Apache:
sudo apachectl configtest
Nginx:
sudo nginx -t
重置防火墙规则

如果需要,可以使用以下命令重置防火墙规则,以便新的端口能够被访问:
sudo firewall-cmd --permanent --zone=public --add-port=8443/tcp sudo firewall-cmd --reload
FAQs
问题:修改端口后,如何测试 HTTPS 服务是否正常工作?
解答: 可以使用在线工具如
https://www.ssllabs.com/ssltest/或命令行工具curl来测试 HTTPS 服务,以下是一个使用curl测试的例子:curl -k -v https://yourdomain.com:8443
-k参数用于忽略证书验证,-v参数用于显示详细信息。问题:修改端口后,如何将更改应用到所有虚拟主机?
解答: 如果你有多个虚拟主机,你需要修改每个虚拟主机的配置文件,虚拟主机的配置文件位于
/etc/httpd/conf.d/或/etc/nginx/conf.d/目录下,修改每个虚拟主机的配置文件,将Listen 443替换为新的端口号,并更新 SSL 配置。
