CentOS7安装nginx(二)配置https

Nginx HTTPS配置指南
本文档详细介绍了如何配置Nginx以支持HTTPS服务。包括修改nginx.conf文件以启用SSL证书,将证书文件上传到指定位置,以及如何验证配置是否生效。

继续上一篇,由于环境已经装好,本次只记录修改配置。

1.修改conf/nginx.conf文件如下:


注意:

①ssl_certificate和ssl_certificate_key对应的路径是nginx的conf目录,如要放置在其他位置,如在conf目录下创建一个CA目录,可以写为CA/root.crt和CA/root.key;

②其余配置和http的一样;

2.把证书和密钥上传到指定位置,见上面的注意①;

3.正在/usr/local/nginx下重进加载配置,执行./nginx -s reload;

4.访问https路径,看到tomcat页面,说明配置生效;


注意:

①我配置的是https的默认端口443,所以发送请求后默认端口就没了,跟http的80端口是一样的;

②由于我用的是自签名证书,所以证书是无效的,如果想用有效的证书可以花钱买或者用let's encrypt之类的免费ssl证书就行了;

<think>好的,我需要帮助用户在CentOS7安装Nginx1.26.2并配置HTTPS。首先,回顾用户之前的对话,用户之前问的是如何在Linux系统安装Nginx配置HTTPS,我给出了基于Ubuntu的步骤,但现在用户明确要在CentOS7上操作,因此需要调整依赖安装部分,因为CentOS使用yum而非apt。根据用户提供的站内引用,引用[1]提到安装依赖的命令是yum安装gcc、pcre、zlib、openssl等,这和CentOS的环境相符。引用[2]和[4]提到解压源码到/usr/local/src,并运行./configure指定安装路径。引用[5]还涉及了fastdfs模块的安装,但用户当前问题不需要这个,可以忽略。引用[3]提到使用systemctl管理服务,但Nginx源码安装后默认没有systemd服务文件,可能需要手动创建,或者用户需要知道如何通过进制文件启动。用户现在的问题是如何在CentOS7安装Nginx1.26.2并正确配置HTTPS。我需要整合之前的回答和新的引用内容,确保步骤适用于CentOS,特别是依赖安装部分使用yum,而不是apt。同时,配置SSL证书的部分需要保持,可能包括自签名证书或Let's Encrypt的指引。需要注意,之前的回答中提到了使用makeinstall安装到/usr/local/nginx,而CentOS的引用中安装路径可能不同,需要统一。另外,CentOS的防火墙管理是firewall-cmd,而不是ufw,所以步骤中的防火墙配置需要调整。 接下来,我需要分步骤编写:安装依赖、下载解压源码、编译安装、生成证书配置HTTPS、启动服务和防火墙设置。同时,要确保引用正确的站内引用,比如安装依赖参考引用[1],编译步骤参考引用[2]和[4]。还要检查是否需要添加systemd服务,如引用[3]提到的,但用户可能希望使用源码安装后的启动方式,即直接运行nginx进制,或者需要创建服务文件。如果用户之前的问题中没有涉及,可能需要省略,或者作为可选步骤。最后,生成相关问题,参考之前的模式,例如如何配置HTTP跳转HTTPS,如何申请Let'sEncrypt证书,SSL优化方法等。</think>### 在CentOS 7安装Nginx 1.26.2并配置HTTPS的完整指南 --- #### 一、安装依赖环境 ```bash sudo yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` 安装编译所需的开发工具和库文件(CentOS使用yum包管理器)[^1] --- #### 、下载并解压源码 ```bash cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.26.2.tar.gz sudo tar -zxvf nginx-1.26.2.tar.gz cd nginx-1.26.2 ``` 源码包建议存放在`/usr/local/src`目录[^4] --- #### 三、编译安装(含SSL模块) ```bash ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-stream sudo make && make install ``` 通过`--with-http_ssl_module`参数启用SSL支持[^2] --- #### 四、生成SSL证书(以自签名为例) ```bash sudo mkdir -p /usr/local/nginx/conf/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /usr/local/nginx/conf/ssl/server.key \ -out /usr/local/nginx/conf/ssl/server.crt ``` 生成证书时需填写域名等信息,生产环境建议使用Let's Encrypt证书 --- #### 五、配置HTTPS服务 修改`/usr/local/nginx/conf/nginx.conf`,添加: ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /usr/local/nginx/conf/ssl/server.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root html; index index.html index.htm; } } ``` --- #### 六、启动与验证 ```bash # 测试配置文件 sudo /usr/local/nginx/sbin/nginx -t # 启动服务 sudo /usr/local/nginx/sbin/nginx # 查看端口监听 sudo netstat -tunlp | grep nginx ``` --- #### 七、防火墙配置 ```bash sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload ``` CentOS 7默认使用firewalld管理防火墙[^3] --- #### 八、创建系统服务(可选) 新建`/usr/lib/systemd/system/nginx.service`: ```ini [Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ``` 然后执行: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值