Nginx配置Https缺少SSL模块

1、Linux下Nginx配置https

  • nginx下载和安装此处就忽略,可自行百度

1.1、配置https

打开nginx配置文件

shell 复制代码
vim /opt/app/nginx/conf/nginx.conf

相关https配置

shell 复制代码
server {
    listen 443 ssl; #开放端口
    server_name echarts.net;#域名
    #redirect to https
    #ssl on; #旧版
 
    #ssl证书地址
    ssl_certificate    /opt/app/nginx/conf/cert/*****.pem; #pem
    ssl_certificate_key /opt/app/nginx/conf/cert/****.key; #key
 
 
     location / {
     	# 代理请求的地址和开放端口
        proxy_pass  http://localhost:8099;
        #proxy_set_header X-Forwarded-Proto  $scheme;
        #add_header Content-Security-Policy upgrade-insecure-requests;
     }
}

键盘按下ESC键,输入:wq 表示保存退出

其他部分解释:!强制退出、q 退出

测试配置文件是否正确

在nginx目录下输入一下命令

shell 复制代码
./sbin/nginx -tc conf/nginx/conf

出现以下示例表示配置成功

如果出现以下示例字样表示缺少ngx_http_ssl_module模块

the "ssl" parameter requires ngx_http_ssl_module

证明此时Nginx缺少该模块
此时要将刚才的关于https的配置用#先全部注释掉,否则后期停服会报配置文件错误

1.2、下载并配置https

  1. 找到Nginx安装目录

比如我的在/opt/software/nginx-1.22.1

typescript 复制代码
cd /opt/software/nginx-1.22.1

如果实在找不到,那就查看Nginx版本号重新下载一个

查看Nginx版本号 (/usr/local/nginx/是你Nginx服务器的实际位置)

typescript 复制代码
/opt/app/nginx/sbin/nginx -V

查看configure arguments:后边有没有值,如果有,就复制下来。

  1. 从新配置SSL模块

进入nginx源码包目录,运行:

shell 复制代码
./configure --prefix=/opt/app/nginx --with-http_stub_status_module --with-http_ssl_module --原来有的模块(如果有的话)

如果运行之后,最终报错如下:

2.1 下载OpenSSL库(没报错可忽略该步骤)

shell 复制代码
yum -y install openssl openssl-devel

配置完成后,运行命令make命令

make

注意,此处不能mark install 否则就是覆盖安装

3、 替换已安装好的Nginx包

替换之前先备份:

shell 复制代码
cp /opt/app/nginx/sbin/nginx /opt/app/nginx/sbin/nginx.bak

先停止Nginx服务

停止服务

shell 复制代码
./opt/app/nginx/sbin/nginx -s stop

将刚刚编译好的nginx覆盖掉原有的nginx

在Nginx解压目录下使用以下命令

shell 复制代码
cp ./objs/nginx /opt/app/nginx/sbin/

通过查看版本命令收看是否下载SSL模块成功

/opt/app/nginx/sbin/nginx -V

此时应该显示为即配置成功:

shell 复制代码
configure arguments: --prefix=/opt/app/nginx --with-http_stub_status_module --with-http_ssl_module

启动服务即可,命令如下

shell 复制代码
/opt/app/nginx/sbin/nginx
相关推荐
伤心的梧桐叶13 小时前
商品大图断点续传后打不开,先看是不是把完整响应又接了一遍
http·https
庵中十三居士18 小时前
用nginx代理DeepSeekHarness挂在域名下特定路径提供访问
运维·nginx·deepseek·harness
fb_1234520 小时前
K8s 网络通关手册:Ingress-Nginx 生产级路由 + Calico 三种隧道模式 + NetworkPolicy 白名单实战
网络·nginx·kubernetes
承渊政道20 小时前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
KIDULT°21 小时前
K8s 网络进阶实战:Ingress-Nginx、Calico 与 NetworkPolicy 实验 + 排坑记录
网络·nginx·云原生·kubernetes
我命由我1234521 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
2501_9159214321 小时前
iOS 实时日志怎么看?KeyMob 的日志过滤、崩溃报告与符号化
android·ios·小程序·https·uni-app·iphone·webview
姜鱼问生2 天前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
@Ma2 天前
Fiddler无法从苹果手机上获取app上https数据包解决方案
智能手机·https·fiddler
李纲明2 天前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie