企业级的HttpsNginx实战部署
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/nginxcd /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、后记
生活朗朗,万物可爱,人间值得,未来可期。加油!
企业级的HttpsNginx实战部署相关推荐
- 《Storm企业级应用:实战、运维和调优》——1.4 Storm的特性
本节书摘来自华章计算机<Storm企业级应用:实战.运维和调优>一书中的第1章,第1.4节,作者:马延辉 陈书美 雷葆华著, 更多章节内容可以访问云栖社区"华章计算机" ...
- 大中型网站集群架构企业级高标准全自动实战项目征集
大中型网站集群架构企业级高标准全自动实战 发布本博文目标: 老男孩教育全新期中集群架构项目实战(老男孩老师亲自带队) 1)征集网友或老男孩教育学生资源3-5人. 2)树立老男孩教育运维班期中集群架构项 ...
- 实战部署MySQL用户认证的Postfix邮件系统(3)
实战部署Postfix+MySQL+Dovecot+Postfixadmin+Extmail邮件系统(3) -----构建开源邮件系统系列 如果您对本系列文章感兴趣,可以通过点击以下链接查看全文: 点 ...
- nginx mysql5.7_Centos7+Php7+Mysql5.7+Nginx源码安装实战部署手册
本文以Centos 7.1+Php 7.1.3+Mysql5.7.17为例,介绍Centos7+Php7+Mysql5.7+Nginx 1.10.3源码安装实战部署的过程. 一.准备工作 软件获取 二 ...
- Docker swarm 实战-部署wordpress
Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo6imq8da3vcwvj2n499k4 ...
- 《Storm企业级应用:实战、运维和调优》——1.6 本章小结
本节书摘来自华章计算机<Storm企业级应用:实战.运维和调优>一书中的第1章,第1.6节,作者:马延辉 陈书美 雷葆华著, 更多章节内容可以访问云栖社区"华章计算机" ...
- 企业级小架构设计部署实现-docker变种(一)负载均衡网站
企业级小架构设计部署实现 企业级小架构设计部署实现-docker变种(一)负载均衡网站 企业级小架构设计部署实现-docker变种(二)日志系统 Elastic 企业级小架构设计部署实现-二- Ans ...
- Docker实战-部署GPE微服务的监控体系(二)
前言 上篇文章:我们介绍了GPE体系中,grafana的部署和安装(<Docker实战-部署GPE微服务的监控体系>),今天这个文章,我们继续介绍GPE体系中,Prometheus和Exp ...
- Docker实战-部署GPE微服务的监控体系
Docker实战-部署GPE微服务的监控体系 前言 微服务体系架构里,有很多的解决方案都是使用GPE作为微服务体系的监控体系, 如下图所示: 我们这里经常提到的GPE,包括Grafana,Promet ...
最新文章
- (区间dp 或 记忆化搜素 )Brackets -- POJ -- 2955
- GitHub 热榜:来膜拜这个流弊的 AI 框架!
- js-window对象的方法和属性资料
- java web 配置教程,javaWeb实战教程0-环境配置,javaweb实战教程0-
- Windows系统 services.msc命令详解,Windows命令行查看本地服务
- 口语技巧-Part2答题逻辑
- 简单而又完整的Makefile-转
- 2008 Gartner ITxpo 展 10 大 IT 产品
- [github高级控件]带你走近-自定义标签云
- 吸尘器上亚马逊要求UL1017测试报告怎么办
- 杭电ACM 2028 Lowest Common Multiple Plus
- 国外著名英文搜索引擎大全及分类
- 【BurpSuite学习篇】四:Scanner 漏洞扫描模块
- 万字拆解伊利:84天从0到千万GMV,传统巨头在抖音电商的“快与慢”
- 【JAVA工具类】金额与汉字大小写的转换 金额转换
- 云上故事 | “电”亮数字生活,阿里云混合云助力南方电网智能调度
- 关于产品和消费的思考
- 2 java基础知识+数据结构
- 数据文件丢失找那个数据恢复公司靠谱呢
- Flutter 递归查询Map(字典)