nginx 安装ssl模块

本文介绍如何为已安装的Nginx添加SSL模块支持,包括检查当前配置、重新编译带SSL模块、备份及替换原有二进制文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx安装ssl模块

针对已安装过nginx,需安装ssl模块

1 查看nginx编译安装时的命令,安装了哪些模块和nginx版本

[root@izbp10zim3tjch7uz2pqikz /]# /usr/local/nginx-1.13.5/sbin/nginx -V
nginx version: nginx/1.13.5
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.13.5 --add-module=../lua-nginx-module-0.10.10/ 

 

2 重新编译nginx,带上 SSL 模块

//configure参数要和步骤1的configure arguments一模一样

[root@iZuf6679bcuj0vciz1vaicZ nginx-1.13.5]#  ./configure --prefix=/usr/local/nginx-1.13.5 --add-module=../lua-nginx-module-0.10.10/ --with-http_ssl_module

[root@iZuf6679bcuj0vciz1vaicZ nginx-1.13.5]# make

//make (没有make install)

3 备份nginx的二进制文件

[root@iZuf6679bcuj0vciz1vaicZ nginx-1.13.5]# cp -rf /usr/local/nginx-1.13.5/sbin/nginx /usr/local/bak/

4 覆盖nginx的二进制文件

[root@iZuf6679bcuj0vciz1vaicZ nginx-1.13.5]# cp objs/nginx /usr/local/nginx-1.13.5/sbin/

会提醒如下信息:

  cp:是否覆盖"/usr/local/nginx-1.13.5/sbin//nginx"? y
  cp: 无法创建普通文件"/usr/local/nginx-1.13.5/sbin//sbin/nginx": 文本文件忙 (nginx二进制文件繁忙,可以停止nginx,再试一次就可以了)

5 重启nginx

### 安装并配置Nginx SSL/TLS模块 #### 准备工作 为了确保能够顺利安装和配置SSL/TLS模块,在开始之前需确认已具备必要的环境条件。通常情况下,建议先更新系统的软件包列表,并确保拥有root权限或sudo访问权。 #### 下载源码编译安装SSL支持的Nginx版本 如果当前使用的Nginx不包含OpenSSL库,则可以通过重新编译来加入此功能。获取官方最新稳定版Nginx压缩包以及对应的openssl源文件[^1]: ```bash wget http://nginx.org/download/nginx-1.xx.x.tar.gz tar zxvf nginx-1.xx.x.tar.gz cd nginx-1.xx.x/ ``` 接着下载指定版本号的Openssl源代码: ```bash wget https://www.openssl.org/source/old/x.x/openssl-x.x.xz.tar.gz tar zxf openssl-x.x.xz.tar.gz mv openssl-x.x /usr/local/src/ ``` #### 编译选项设置 在configure阶段添加`--with-http_ssl_module`参数启用HTTP over TLS协议的支持;同时通过`--with-openssl=/path/to/openssl-source-directory`指明外部引入的openssl路径: ```bash ./configure \ --prefix=/usr/share/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/run/nginx.pid \ --lock-path=/var/lock/subsys/nginx \ --user=nginx \ --group=nginx \ --without-mail_pop3_module \ --without-mail_imap_module \ --without-mail_smtp_module \ --with-stream \ --with-compat \ --add-dynamic-module=njs_src/http/ngx_http_js_module.c \ --with-openssl=/usr/local/src/openssl-x.x make && make install ``` 完成上述操作之后重启服务使更改生效即可正常使用带有SSL加密特性的Web服务器了。 #### 配置HTTPS站点 编辑虚拟主机配置文件(一般位于/etc/nginx/conf.d/default.conf),定义server block监听443端口,并加载证书与私钥位置: ```nginx server { listen 443 ssl; server_name example.com; ssl_certificate /etc/pki/tls/certs/example.crt; ssl_certificate_key /etc/pki/tls/private/example.key; ... } ``` 最后测试配置语法正确性并通过命令行启动新实例:`service nginx start`.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值