• 阿里云-Centos7配置Nginx实现HTTPS(保姆级安装教程-无脑执行)


    1、Nginx简介

    Nginx(engine x)是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:PaM6n ep)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx1.0.4发布。

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    2、阿里云资源准备

    1、创建实例
    在这里插入图片描述

    2、按需选择资源,点击下一步
    在这里插入图片描述
    在这里插入图片描述
    3、选择网络及安全组
    在这里插入图片描述

    4、系统设置
    在这里插入图片描述
    5、确认订单
    在这里插入图片描述
    6、远程登录,进行配置

    在这里插入图片描述

    3、实验环境

    系统版本:Centos 7.9
    Nginx版本:nginx1.14.0
    
    1、关闭防火墙并禁止开机自启
    systemctl stop firewalld
    systemctl disable firewalld
    
    2、关闭selinux
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    
    3、修改主机名
    vi /etc/hostname
    	nginx.wangfeiyu.com
    
    4、域名绑定IP
    vi /etc/hosts
    	公网IP	nginx.wangfeiyu.com
    
    5、重启
    reboot
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    4、安装nginx服务

    4.1 安装nginx依赖环境包

    yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
    
    • 1

    4.2 官网下载nginx1.14.0压缩包

    wget https://nginx.org/download/nginx-1.14.0.tar.gz
    
    • 1

    4.3 解压nginx

    tar zxf nginx-1.14.0.tar.gz
    
    • 1

    4.4 进入解压目录

    cd nginx-1.14.0
    
    • 1

    4.5 编译nginx

    本文中使用的编译安装方式
    
    ./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
    
    注:以上-with-http_ssl_module这个模块是https的关键,必须安装!
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.6 安装nginx

    make && make install
    
    • 1

    4.7 启动nginx

    cd /usr/local/nginx/sbin/
    ./nginx
    
    • 1
    • 2

    4.8 开机启动nginx

    1、编辑开启启动文件
    vi /etc/rc.local
    添加一行/usr/local/nginx/sbin/nginx
    
    2、设置启动文件权限
    chmod 755 /etc/rc.local
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.9 访问测试

    在这里插入图片描述

    5、升级nginx为https条件

    5.1 查看nginx是否支持ssl

    在这里插入图片描述
    注:查看configure arguments 信息中是否包含-with-http_ssl_module字样,如果没有则需要重新编译。找到之前安装Nginx时的编译目录,配置ssl模块,因为这次是升级nginx,所以不需要执行make install,执行命令如下:

    ./configure-with-http_ssl_module 
    make
    
    • 1
    • 2

    5.2 查看openssl配置文件

    vi /etc/pki/tls/openssl.cnf
    
    • 1

    在这里插入图片描述
    注:以上截图默认就是这样的重要参数配置路径,如果你要配置修改路径,那么切记在后边签证书等等的操作都要按照这个配置路径去创建,不然当认证的时候会找不到证书!

    5.3 创建生成证书需要的文件

    1、创建证书索引数据库文件
    touch /etc/pki/CA/index.txt
    
    2、指定第一个颁发证书的序列号
    echo 01 > /etc/pki/CA/serial
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    5.4 CA自签证书

    1、生成CA私钥
    cd /etc/pki/CA/
    umask 066
    openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    注:进入到/etc/pki/CA目录下执行这两条命令!

    2、生成CA自签名证书
    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
    
    • 1
    • 2

    在这里插入图片描述
    注释:
    -new:生成新证书签署请求
    -×509:专用于CA生成自签证书-key:生成请求时用到的私钥文件
    -days n:证书的有效期限
    -out:证书的保存路径
    提示输入国家,省,市,公司名称,部门名称,CA主机名(颁发者名称)

    3、查看生成的自签名证书
    openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
    
    • 1
    • 2

    在这里插入图片描述

    5.5 颁发证书

    1、在当前创建/root/key 目录
    mkdir key
    
    2、生成web服务器私钥
    cd key/
    umask 066
    openssl genrsa -out service.key 2048
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    3、生成CA证书申请文件
    openssl req -new -key service.key -out service.csr
    
    • 1
    • 2

    在这里插入图片描述

    4、将证书文件移动到CA服务器/etc/pki/CA/csr目录下
    mkdir /etc/pki/CA/csr
    mv service.csr /etc/pki/CA/csr/
    
    • 1
    • 2
    • 3
    5、CA签署证书,并将证书颁发给请求者
    openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365
    
    • 1
    • 2

    5.6 修改nginx配置文件

    vi /usr/local/nginx/conf/nginx.conf
    
    • 1

    在这里插入图片描述
    注:这里有个坑就是默认的HTTPS SERVER这行必须删除,要不然一直报错!!!

    重启nginx
    ./nginx -s reload
    
    • 1
    • 2

    5.7 测试

    在这里插入图片描述

  • 相关阅读:
    [附源码]Python计算机毕业设计SSM家政服务管理系统(程序+LW)
    学生Dreamweaver静态网页设计 基于HTML+CSS+JavaScript制作简食餐厅美食网站制作
    [SpringBoot-vue3]用户登录实现JWT单点登录/ThreadLocal保存用户信息
    Go语言内存管理:从理论到实战
    猿创征文 | 一个大四学长分享自己的web前端学习路线--小程序篇(3/3)
    【升职加薪秘籍】我在服务监控方面的实践(7)-业务维度的redis监控
    【云开发】小程序端中使用云函数的介绍
    动态表单设计
    ChineseChess4 2023.10.27
    Golang之协程和IO多路复用更配
  • 原文地址:https://blog.csdn.net/weixin_44244493/article/details/126889564