Linux怎么配置Nginx的SSL证书

畫卷琴夢

畫卷琴夢

2026-06-22

372人浏览

原创

必须先确认nginx已启用ssl模块,执行nginx -v检查configure arguments中是否含--with-http_ssl_module,缺失则ssl_certificate等指令会报unknown directive错误,需回源码目录重新编译并保留原有模块参数。

linux怎么配置nginx的ssl证书

nginx -V 里没 --with-http_ssl_module 就别配了

所有后续操作的前提是 Nginx 编译时启用了 SSL 模块。执行 nginx -V(大写 V),在输出的 configure arguments: 行里搜 --with-http_ssl_module。没这个,ssl_certificate 这类指令直接被当成语法错误,nginx -t 必报 unknown directive 'ssl_certificate'

如果缺失,必须回源码目录重新编译:

  • ./configure --prefix=/usr/local/nginx --with-http_ssl_module [其他你原有模块参数] —— 注意把原来用到的模块(比如 --with-http_stub_status_module)一并带上,否则会丢功能
  • make(只编译,不 make install
  • cp ./objs/nginx /usr/local/nginx/sbin/nginx —— 替换前先 nginx -s stop,否则新二进制加载失败

证书文件放哪、权限怎么设才不报 permission denied

私钥文件权限不对是启动失败最常见原因之一。Nginx 启动时若读不到 .key,日志里只会写 permission denied,不会告诉你具体哪个文件。

  • 证书和私钥建议统一放在 /etc/nginx/ssl//usr/local/nginx/conf/cert/ 这类明确路径下,避免用 ~/ 或临时目录
  • chmod 600 /etc/nginx/ssl/example.com.key —— 必须是 600,400 都不行
  • 确认文件属主是 Nginx 运行用户:chown nginx:nginx /etc/nginx/ssl/*.key(CentOS 常用 nginx,Ubuntu 常用 www-data
  • 检查私钥是否加密:用 head -n 1 /path/to/key 看第一行是不是 -----BEGIN RSA PRIVATE KEY----- 并含 DEK-Info:;有就说明带密码,得先 openssl rsa -in server.key -out server.key 去密

listen 443 ssl 和 ssl_certificate 必须成对出现

光写 listen 443; 不会启用 HTTPS,必须加 ssl 参数,且 ssl_certificatessl_certificate_key 路径必须准确指向解压后的两个文件(不是 CSR,也不是中间证书单独文件)。

宝塔Linux面板11.8.1
宝塔Linux面板11.8.1

宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。

下载

典型配置片段:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/example.com_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
}
  • ssl_certificate 指向的是包含域名证书 + 中间证书的 bundle 文件(常见名如 yourdomain_bundle.crtfullchain.pem),不是单个 .crt
  • ssl_certificate_key 只能是私钥 .key,不能是 .pem 混合文件
  • 不要在同一个 server 块里混用 listen 80listen 443 ssl —— 容易触发协议冲突或重定向循环

curl https:// 命令超时?先查云服务器安全组

配置全对、nginx -t 成功、服务也 reload 了,但浏览器或 curl https://example.com 一直卡住或超时,问题大概率不在 Nginx 配置本身。

  • 本地防火墙(iptablesfirewalld)要开 443:firewall-cmd --permanent --add-port=443/tcp
  • 但更常被忽略的是云平台层:阿里云、腾讯云、AWS 的安全组默认不放行 443,必须手动在控制台添加入方向 TCP 443 规则
  • 本地测试可用 telnet example.com 443 判断端口是否通 —— 如果连不上,99% 是安全组或负载均衡器没配好,不是证书问题

证书链完整性、TLS 版本兼容性这些属于进阶调试点,先确保这四步走完再碰它们。否则越调越乱,容易把简单问题复杂化。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux nginx ssl

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

339

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

1728

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

2127

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

416

5

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.07.09

1244

5

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

2024.08.07

3810

3

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

102

12

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

272

23

Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

2026.03.16

107

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习