2018.3.1612周5次课

author author     2022-10-25     396

关键词:

十二周五次课(3月16日)

12.17 Nginx负载均衡

12.18 ssl原理

12.19 生成ssl密钥对

12.20 Nginx配置ssl

12.17 Nginx负载均衡

后端web服务器可以有多台,就可以实现负载均衡

upstream来指定多个web server

查看解析域名的ip命令:dig

安装dig命令:yum install -y bind-utils

vim /usr/local/nginx/conf/vhost/load.conf //写入如下内容

upstream qq_com // 在这里定义后端的web server ,通过upstream来指定多个web服务器,upstream后面的名字qq_com可以更改,如可以更改为qq

   ip_hash; //它表示根据ip地址把请求分到不同的服务器上。目的是同一个用户始终保持在同一个机器

   server 61.135.157.156:80; //也可以写成http:// 220.181.57.216:80; ,对应的server块内的proxy_pass内直接写qq_com即可,不需要写https://

   server 125.39.240.113:80;

server

   listen 80;

   server_name www.qq.com;

   location /

   

       proxy_pass      http://qq_com; //这里使用的是upstream名即qq_com

       proxy_set_header Host   $host;

       proxy_set_header X-Real-IP      $remote_addr;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   

测试:

curl -x127.0.0.1:80 www.qq.com //通常情况下会访问我们的默认虚拟主机

技术分享图片

-t && -s reload

再次执行,就会变成了qq.com的主页,显示的是网页的源码

说明:nginx不支持代理https,即server语句内的端口无法使用443。

12.18 ssl原理

目前chrome、Firefox各大浏览器 也开始针对HTTPS做调整。你有没有发现,使用百度搜问题时,百度的网址前面是HTTPS ,包括阿铭的猿课官网(ask.apelearn.com)同样也支持了HTTPS访问

这说明HTTPS已经成为一种趋势,相信过不了10年,整个互联网都会强制使用HTTPS通信,而废弃目前主流的HTTP。那到底什么是HTTPS呢?简单讲,它就是一种加密的HTTP协议,如果HTTP通信的数据包在传输过程中被截获,我们可以破译这些数据包里面的信息,这里面不乏一些用户名、密码、手机号等敏感的信息。 而如果使用HTTPS通信,即使数据包被截获,我们也无法破译里面的内容图

技术分享图片

技术分享图片

12.19 生成ssl密钥对

cd /usr/local/nginx/conf

查询某个命名由哪个包安装的:rpm -qf  `which 命令` (命令不能有别名)

需要用到openssl命令:rpm -qf `which openssl`

技术分享图片

openssl genrsa -des3 -out tmp.key 2048 //生成rsa形式的私钥文件,文件名tmp.key,长度2048

技术分享图片

openssl rsa -in tmp.key -out aminglinux.key //转换key,取消密码。-in:指定哪个密钥要转换;-out:指定输出的

技术分享图片

tmp.key和aminglinux.key是一个文件,只不过前面的有密码,后面的没有密码

rm -f tmp.key //删除有密码的文件

openssl req -new -key aminglinux.key -out aminglinux.csr //生成证书请求文件,需要拿这个文件和私钥一起生产公钥文件

技术分享图片

openssl x509 -req -days 365 -in aminglinux.csr -signkey aminglinux.key -out aminglinux.crt //生成公钥,这里的aminglinux.crt为公钥,

技术分享图片

crt是私钥,key是私钥,csr是证书请求文件

技术分享图片

12.20 Nginx配置ssl

vim /usr/local/nginx/conf/vhost/ssl.conf //加入如下内容

server

   listen 443; //监听443端口

   server_name aming.com;

   index index.html index.php;

   root /data/wwwroot/aming.com;

   ssl on; //开启ssl,支持https

   ssl_certificate aminglinux.crt; //指定公钥文件

   ssl_certificate_key aminglinux.key; //指定私钥文件

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; //指定ssl的协议

-t && -s reload //若报错unknown directive “ssl” ,需要重新编译nginx,加上--with-http_ssl_module

技术分享图片

在前面编译nginx时,没有指定支持ssl

命令查看:/usr/local/nginx/sbin/nginx -V

技术分享图片

configure arguments: --prefix=/usr/local/nginx

重新编译nginx

cd /usr/local/src/ nginx-1.13.9

./configure --help |grep -i ssl //用help查看要加载哪个ssl模块

技术分享图片

要加--with-http_ssl_module

编译:

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

make && make install

技术分享图片

-t && -s reload //没有报错

技术分享图片

重启:/etc/init.d/nginx restart

技术分享图片

查看监听端口:netstat –lntp //多了443端口

技术分享图片

echo “ssl test page.”>/data/wwwroot/aming.com/index.html

测试:

不能用curl -x127.0.0.1:443 https://aming.com会报400错误

技术分享图片

编辑host:vi /etc/hosts

增加一行192.168.37.101  aming.com

curl https://aming.com

技术分享图片

curl: (60) Peer's certificate issuer has been marked as not trusted by the user.

此种情况多发生在自签名的证书,报错含义是签发证书机构未经认证,无法识别。解决办法是将签发该证书的私有CA公钥cacert.pem文件内容,追加到/etc/pki/tls/certs/ca-bundle.crt。

用主机网页测试:https://aming.com,如访问不到,就要看看虚拟机有没有设置防火墙

Iptables -nvL //查看防火

Iptables -F    //清空规则,如果不想清空就加一个443端口的规则

firewall-cmd --add-port=443/tcp

firewall-cmd --list-port

firewall-cmd --query-port=443/tcp

技术分享图片


2018.3.2313周5次课

十三周五次课(3月23日)13.4mysql用户管理13.5常用sql语句13.6mysql数据库备份恢复13.4mysql用户管理MySQL创建用户以及授权授权给ipgrantallon*.*to'user1'@'127.0.0.1'identifiedby'passwd';all表示所有的权限(如读、写、查询、删除... 查看详情

2018.3.3014周5次课

十四周五次课(3月30日)16.4配置Tomcat监听80端口16.5/16.6/16.7配置Tomcat虚拟主机16.8Tomcat日志16.4配置Tomcat监听80端口在生产环境中,tomcat会使用8080端口,而80端口是留给nginx,如果需要使用80端口,那要先停止nginx服务才能使用80端口... 查看详情

2018-1-125周5次课

8.10shell特殊符_cut命令*              任意个任意字符?              任意一个字符   ?.txt# 查看详情

2017.12.151周5次课

2017.12.151周5次课2.1/2.2系统目录结构1.ls命令ls命令用来列取系统的目录或文件,英文是“list”,“ls”是简写,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。根下面有那些目录... 查看详情

2018.2.279周5次课

九周第五次课(2月27日)11.6MariaDB安装11.7/11.8/11.9Apache安装11.6MariaDB安装cd/usr/local/src下载二进制安装包:wgethttps://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_ 查看详情

2018.4.1015周5次课

十五周五次课(4月10日)18.6负载均衡集群介绍18.7LVS介绍18.8LVS调度算法18.9/18.10LVSNAT模式搭建18.6负载均衡集群介绍主流开源软件LVS、keepalived、haproxy、nginx等其中LVS属于4层(网络OSI7层模型),nginx属于7层,haproxy既可以认为是4层... 查看详情

2018.1.267周5次课

七周五次课(1月26日)10.19iptables规则备份和恢复10.20firewalld的9个zone10.21firewalld关于zone的操作10.22firewalld关于service的操作10.19iptables规则备份和恢复咱们设定的防火墙规则只保存在内存中,并没有保存到某一个文件中。也就是说,... 查看详情

2018.4.1716周5次课

十六周五次课(4月17日)20.1shell脚本介绍20.2shell脚本结构和执行20.3date命令用法20.4shell脚本中的变量20.1shell脚本介绍shell是一种脚本语言 aming_linux blog.lishiming.net可以使用逻辑判断、循环等语法可以自定义函数shell是系统命... 查看详情

2018.1.44周3次课

四周第三次课(1月4日)5.5进入编辑模式 5.6vim命令模式5.7vim实践5.5进入编辑模式 编辑模式的使用i     在当前字符前插入I     在光标所在行的行首插入a     在当前字... 查看详情

2018-1-267周5次课

10.19iptables规则备份和恢复10.20firewalld的9个zonefirewall防火墙用于centos7以后下面是关于firewall防火墙的设置讲解。先关闭netfilter如下:打开firewalldfirewalld怎么用:它默认有9个zone。zone是firewalld的一个单位。默认是使用publiczone.每个zon... 查看详情

2017.12.222周5次课

2017.12.22二周第五次课2.23/2.24/2.25 find命令2.26 文件名后缀2.23/2.24/2.25 find命令1.学会使用快捷键1)ctrl+C:结束(终止)当前命令。如果你输人了一大串字符,但不想运行,可以按ctrl+C组合键,此时光标将跳入下一行,而... 查看详情

2018.1.34周2次课

四周第二次课(1月3日)5.1vim介绍5.2vim颜色显示和移动光标5.3vim一般模式下移动光标5.4vim一般模式下复制、剪切和粘贴5.1vim介绍vim是vi的升级版vim时带有颜色显示的安装命令:yuminstall-yvim-enhancedVim有3种模式:一般模式、编辑模式... 查看详情

2018.1.64周5次课

四周第五次课(1月6日)6.5zip压缩工具6.6tar打包6.7打包并压缩6.5zip压缩工具1.zip压缩包在Windows和Linux中都比较常用,它可以压缩目录和文件,压缩目录时,需要指定目录下的文件。压缩完后源文件不删除需要安装zip命令:yuminstall-... 查看详情

2018.1.125周5次课

五周第五次课(1月12日)8.10shell特殊符号cut命令8.11sort_wc_uniq命令8.12tee_tr_split命令8.13shell特殊符号下8.10shell特殊符号cut命令1.特殊符号*任意个任意字符*代表零个或多个任意字符?任意一个字符?只代表一个任意的字符#注释字符... 查看详情

2017.12.293周5次课

三周第五次课(12月29日)4.5/4.6磁盘格式化 4.7/4.8磁盘挂载4.9手动增加swap空间4.5/4.6磁盘格式化centos7系统支持的文件格式如下:在/etc/filesystems里查看“xfs”是centos7默认的文件系统,之前的版本都是“ext“命令【mke2fs】:格式化... 查看详情

2018-1-125周5次课

8.10shell特殊符号cut命令特殊符号:几个和管道有关的命令cut截取字符串,cut-c指定字符8.11sort_wc_uniq命令sort排序,sort-n数字排序sort-nr数字排序反方向wc-l统计行数wc-m统计字符数uniq去重编辑2.txt文件如下然后用uniq去重,先排序后去... 查看详情

2018-1-64周5次课zip压缩tar打包

6.5zip压缩工具★zip支持压缩目录前期准备:[[email protected] d6z]# tree aminglinux/aminglinux/├── 2│   └── 2.txt└── aming2├── 2│   └── 2.txt├─ 查看详情

2018-4-1015周5次课lvs负载均衡

18.6负载均衡集群介绍·主流开源软件LVS、keepalived、haproxy、nginx等·其中LVS属于4层(网络OSI7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用·keepalived的负载均衡功能其实就是lvs·lvs这种4层的负载均衡是可以分... 查看详情