Nginx配置Https缺少SSL模块(已解决)
1、Linux下Nginx配置https
nginx下载和安装此处就忽略,可自行百度
1.1、配置https
打开nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
相关https配置
server { listen 9128 ssl; #开放端口 server_name one.poryoung.cn;#域名 #redirect to https #ssl on; #旧版 #ssl证书地址 ssl_certificate /usr/local/cert/*****.pem; #pem/crt ssl_certificate_key /usr/local/cert/****.key; #key location / { # 代理请求的地址和开放端口 proxy_pass http://192.168.0.43:9129; #proxy_set_header X-Forwarded-Proto $scheme; #add_header Content-Security-Policy upgrade-insecure-requests; } }
键盘按下ESC键,输入:wq 表示保存退出
其他部分解释:!强制退出、q 退出
测试配置文件是否正确
# 在nginx目录下输入一下命令 ./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安装目录
# 比如我的在/usr/local/src/nginx-1.15.1 cd /usr/local/src/nginx-1.15.1
如果实在找不到,那就查看Nginx版本号重新下载一个
# 查看Nginx版本号 (/usr/local/nginx/是你Nginx服务器的实际位置) /usr/local/nginx/sbin/nginx -V
查看configure arguments:后边有没有值,如果有,就复制下来。
2、从新配置SSL模块
进入nginx源码包目录,运行:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --原来有的模块(如果有的话)
如果运行之后,最终报错如下:
2.1、下载OpenSSL库(没报错可忽略该步骤)
yum -y install openssl openssl-devel
配置完成后,运行命令make命令
make # 注意,此处不能mark install 否则就是覆盖安装
3、 替换已安装好的Nginx包
替换之前先备份:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
先停止Nginx服务
# 停止服务 ./usr/local/nginx/sbin/nginx -s stop
将刚刚编译好的nginx覆盖掉原有的nginx
# 在Nginx解压目录下使用以下命令 cp ./objs/nginx /usr/local/nginx/sbin/ # 通过查看版本命令收看是否下载SSL模块成功 /usr/local/nginx/sbin/nginx -V
此时应该显示为即配置成功:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
启动服务即可,命令如下
./usr/local/nginx/sbin/nginx
无论风雨,和自己一决胜负吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)