在互联网安全日益重要的今天,为网站配置HTTPS证书已经成为刚需。本文将以Nginx服务器为例,详细讲解如何在Linux环境下一步步完成HTTPS证书配置,即使是技术小白也能轻松上手!
nginx -v
可查看版本)。.crt
和.key
格式,可通过阿里云、腾讯云或免费平台Let’s Encrypt申请)。sudo ufw allow 443/tcp
sudo firewall-cmd --add-port=443/tcp --permanent && sudo firewall-cmd --reload
如果之前安装Nginx时未启用SSL模块(执行nginx -V
,查看输出中是否包含--with-http_ssl_module
),需按以下步骤操作:
假设源码包位于/opt/nginx-1.14.2/
(请根据实际路径调整):
cd /opt/nginx-1.14.2/
在原有配置基础上添加--with-http_ssl_module
(示例:原配置为--prefix=/opt/nginx
):
./configure --prefix=/opt/nginx --with-http_ssl_module
make && make install
/opt/nginx/sbin/nginx -s stop # 路径需根据实际安装目录调整
将证书文件(.crt
)和私钥文件(.key
)上传到服务器(建议存放于/etc/nginx/cert/
或/path/
目录,路径需准确)。
打开Nginx主配置文件(通常为/opt/nginx/conf/nginx.conf
或/etc/nginx/nginx.conf
),在server
块中添加HTTPS配置(若无server
块,需新建):
server {
listen 443 ssl; # 监听443端口,启用SSL
server_name example.com www.example.com; # 填写你的域名
# 证书路径(需替换为实际路径)
ssl_certificate /path/example.com_bundle.crt; # 证书文件
ssl_certificate_key /path/example.com.key; # 私钥文件
# 优化配置(提升安全性和性能)
ssl_session_cache shared:SSL:1m; # SSL会话缓存
ssl_session_timeout 5m; # 会话超时时间
ssl_ciphers HIGH:!aNULL:!MD5; # 加密算法,排除弱加密
ssl_prefer_server_ciphers on; # 优先使用服务器端加密算法
# 其他配置(如转发、重定向等可继续添加)
# ...
}
/opt/nginx/sbin/nginx # 启动Nginx(若之前已停止,直接启动即可)
注意:若修改了配置文件,建议先检查语法是否正确:
/opt/nginx/sbin/nginx -t
无误后再重启,避免服务启动失败。
在浏览器地址栏输入https://你的域名
(如https://example.com
),观察:
若出现以上标志,恭喜你,HTTPS配置成功!
如何申请免费HTTPS证书?
推荐使用Let’s Encrypt(免费、自动续期),通过certbot
工具可快速申请。
配置后网站打不开?
检查:① 证书路径是否正确;② 443端口是否开放;③ Nginx配置是否有语法错误(用nginx -t
检测)。
是否需要同时支持HTTP和HTTPS?
建议添加HTTP到HTTPS的强制跳转,确保所有流量走安全通道,配置如下:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri; # 永久重定向到HTTPS
}
配置HTTPS证书看似复杂,实则只需按步骤操作即可完成。