手把手教你Nginx 配置 HTTPS 完整过程

简介: 手把手教你Nginx 配置 HTTPS 完整过程

相信大家在现有项目里都会通过https访问,我们今天得教程就是通过配置nginx实现https访问。


Nginx专栏


  • 手把手教你Nginx常用模块详解之ngx_http_access_module(一)
  • 手把手教你Nginx常用模块详解之ngx_http_addition_module(二)
  • 手把手教你Nginx常用模块详解之ngx_http_api_module(三)
  • 手把手教你Nginx常用模块详解之ngx_http_gzip_module(四)
  • 手把手教你Nginx常用模块详解之ngx_http_limit_conn_module(五)
  • 手把手教你Nginx常用模块详解之ngx_http_upstream_module(六)
  • 手把手教你Nginx常用模块详解之ngx_stream_ssl_module(七)
  • 手把手教你Nginx常用模块详解之ngx_stream_upstream_module(八)
  • 手把手教你Nginx常用模块详解之ngx_http_perl_module(九)
  • 手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
  • 手把手教你Nginx常用模块详解之ngx_http_status_module(十一)


nginx配置HTTPS前置条件


服务器上已经安装nginx服务,已经具备http访问;
nginx服务器是否已经安装ssl模块得支持;
是否已经拥有ssl证书,如果没有可以去阿里云或者腾讯云免费申请;


1,证书申请


证书申请前往阿里云SSL证书申请,选择免费证书申请即可

1.png


1,证书申请


证书申请前往阿里云SSL证书申请,选择免费证书申请即可

./nginx -V

image.png

如果看到我上图标记得 configure arguments: --with-http_ssl_module, 则已安装(可以直接跳过nginx安装ssl支持步骤,进入 nginx.conf 配置)。


3,nginx安装


3.1 nginx官网地址


下载地址:http://nginx.org/en/download.html

这里下载nginx-1.18.0稳定版tar.gz


3.2 下载tar包到服务器目录


cd /home/somnus
wget http://nginx.org/download/nginx-1.18.0.tar.gz

3.3 解压安装包

tar -zxvf nginx-1.18.0.tar.gz

3.4 配置ssl模块

cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module

我们只需要执行以上命令即可,由于我服务器上还有其他模块依赖


3.5 接下来执行命令编译


使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。用新的 nginx 文件覆盖当前的 nginx 文件。

1.png


3.6 命令拷贝复制

cp ./objs/nginx /usr/local/nginx/sbin/

3.7 再次查看安装的模块(configure arguments: --with-http_ssl_module说明ssl模块已安装)。

./nginx -V
nginx version: nginx/1.18.0
configure arguments: –with-http_ssl_module


4. ssl 证书部署


下载申请好的 ssl 证书文件压缩包到本地并解压(这里是用的 pem 与 key 文件,文件名可以更改)。

在 nginx 目录新建 cert 文件夹存放证书文件。

 cd /usr/local/nginx
 mkdir cert

将我们申请得这两个文件上传至服务器的 cert 目录里。

1.png


4.1. nginx.conf 配置


编辑 /usr/local/nginx/conf/nginx.conf 配置文件:

配置 https server。

注释掉之前的 http server 配置,新增 https server:

 server {
        listen       443 ssl;
        server_name somnus.test.com;
        ssl_certificate      ../cert/somnus.test.com.pem;
        ssl_certificate_key  ../cert/somnus.test.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
  ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
......
}

4.2 将 http 重定向 https

server {
    listen 80;
    server_name somnus.test.com;
    #将请求转成https
    rewrite ^(.*)$ https://$host$1 permanent;
}

4.5 重启 nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

如果 80 端口被占用,可以通过kill命令来进行结束进程:


5 查看端口使用


 netstat -lntp

执行看到以下结果就说明我们成功了

[root@iZi5u1azluu464tfbesf3aZ conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3322/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2310/sshd                  
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      3322/nginx: master  


5.1 结束nginx端口进程


5.1 查看nginx 进程命令


ps aux | grep nginx

1.png

5.2 执行结束命令

kill -9 3322

5.1 重启 nginx :

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。

相关文章
|
1月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
83 7
|
2月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
2月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
333 0
|
6天前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
38 5
|
1月前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
1月前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
22天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
43 3
|
1月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
263 1
nginx配置反向代理404问题
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
55 4
|
1月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
55 3