企业级的Https&Nginx实战部署

01、Http和Https认识

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议) 是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,**但利用SSL/TLS来加密数据包。**HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整。

02、Https的应用场景

1、当然考虑网站数据传递的安全性

2、基于前后端分离开发方式,如微信小程序,APP开发,IOS开发。等这些移动端应用开发,比如:IOS苹果软件开发,如果说你的软件要上家到苹果应用市场,那么你的服务器接口必须是:https。或者微信小程序:在真是的项目发布的,如果不是https的接口你也是通不过。

03、Https和Http监听的端口

http 监听的端口:80
https监听的端口:443

04、Https实现步骤

1、你必须要有个域名

2、并且要有个服务器 (提供ip)

3、并且服务器ip和你的域名要进行解析

4、免费领取一个ssl安全证书

5、把域名和ssl安全证书进行安全绑定授权

6、授权成功以后,然后把证书安装到nginx中

05、购买域名

万网:https://wanwang.aliyun.com/
在这里插入图片描述

购买成功后。进入阿里云【控制面板中】,找到【域名】配置,即可看到自己刚才购买的域名
在这里插入图片描述

06、域名备案

购买域名一定要备案才能进行使用,否则你是不能去解析和映射IP服务器,备案地址:
https://beian.aliyun.com/?spm=5176.100251.top-nav.dicp.22f14f15f2xBZ5
在这里插入图片描述
如果还不明白,多问问客服和提交工单
注意:备案需要域名提前做好实名认证,认证完后的2-3天才可备案。

07、购买阿里云服务器

地址:
https://ecs-buy.aliyun.com/wizard/#/prepay/cn-shanghai?fromDomain=true

如果是学习用的话推荐买共享型即可,企业的话推荐计算型,根据自己需要而定,系统推荐使用CentOS系统
在这里插入图片描述
购买完之后、即可在自己的控制台看见自己购买的服务器实例的IP
在这里插入图片描述

08、域名和IP的绑定

在控制台点击域名之后 选择需要的域名进行解析
在这里插入图片描述
一般建议:主域名 www.xxx.com , xxx.com
一般建议:API的域名,api.xxx.com

点击添加记录
在这里插入图片描述
一个域名 可以通过配置不同的二级域名去映射不同的服务器,这都是可以的。
在这里插入图片描述
在这里插入图片描述

09、开放服务端口

如果是单机部署多应用的话,开放80和443端口即可
在这里插入图片描述
这里和直接在linux通过命令去开放端口不同 需要在安全组里面配置
在这里插入图片描述
进去之后直接点击快速添加勾选你需要开放的端口
在这里插入图片描述

10、申请SSL证书

在这里插入图片描述
在这里插入图片描述
点击创建证书
在这里插入图片描述
在这里插入图片描述

11、安装nginx

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

01、创建nginx服务器目录

 mkdir -p /www/yangzihao/nginx
 cd /www/yangzihao/nginx

02、下载安装

wget http://nginx.org/download/nginx-1.20.1.tar.gz

03、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

04、解压nginx

tar -zxvf nginx-1.20.1.tar.gz 

05、创建临时目录

mkdir -p /var/temp/nginx

06、进入安装包目录

cd nginx-1.20.1

07、编译安装 (自定义配置)

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_stub_status_module

记住:–with-http_ssl_module \ 尤为重要
安装以后的目录信息
在这里插入图片描述

08、make编译

make

09、安装

make install

10、进入sbin目录启动nginx

cd /usr/local/nginx/sbin

nginx 启动命令:

./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx的进程

访问这个ip地址显示如下 说明nginx启动成功
在这里插入图片描述
./nginx -V 可显示nginx安装的一些信息

11、配置nginx的环境变量

vim /etc/profile

在文件的尾部追加

export NGINX_HOME=/usr/local/nginx
export PATH=$NGINX_HOME/sbin:$PATH

重启配置文件

source /etc/profile

配置环境变量的好处
在这里插入图片描述

12、SSL证书的下载和上传

SSL证书的下载
在这里插入图片描述
SSl证书的上传
在nginx的conf目录下新建一个cert目录,并将这两个文件下载SSL证书文件上传到cert目录下
在这里插入图片描述
额外说明一下关于nginx
nginx 可以有多个配置文件 只需在主nginx.conf配置文件中将其他配置文件引用即可
在这里插入图片描述
改过配置文件记得从起 nginx -s reload
在这里插入图片描述

13、 nginx和SSL配置

直接可以看官方文档 写的即为详细 直接复制过来即可
连接地址
在这里插入图片描述

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    
    
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
    
    
        root html;  #站点目录。
        index index.html index.htm;
    }
}

直接复制到自己的配置文件中稍作修改
在这里插入图片描述
如果需要请求http时自动跳转到https可以直接加上这个代码块
在这里插入图片描述
在这里插入图片描述

14、Nginx配置多个Https服务

每个域名有每个域名对应的SSL证书
在这里插入图片描述
在配置一个server代码块即可
在这里插入图片描述
域名访问测试 后面带有锁的标志说明是安全的
在这里插入图片描述

15、负载均衡项目部署

准备一个springboot项目打成包
分别跑三个端口进行测试
在这里插入图片描述

配置负载均衡
在这里插入图片描述
重启nginx

nginx -s reload

最终测试
在这里插入图片描述完结撒花!!!就是这么简单

16、后记

生活朗朗,万物可爱,人间值得,未来可期。加油!

猜你喜欢

转载自blog.csdn.net/weixin_45647685/article/details/120182542
今日推荐