Nginx负载均衡与配置Nginx的ssl

Nginx负载均衡

什么是负载均衡?

负载均衡就是,把请求均衡地分发到后端的各个机器上面。
比如,A B C D 四台WEB服务器,现在E要访问这4台服务器,F为Nginx反向代理服务器,可以放F把E的请求均衡地分发给A B C D 4台服务器上

配置:

upstream apelearn    //定义负载均衡组,有哪些ip
{
ip_hash;   //hash算法
server 115.159.51.96:80 weight=100;  //真正的IP地址
server 47.104.7.242:80 weight=10;   //真正的IP地址
}
server
{
listen 80;
server_name www.apelearn.com;   //主机地址
location /
{
    proxy_pass      http://apelearn;    //upstream定义的的字符串
    proxy_set_header Host   $host;
    proxy_set_header X-Real-IP      $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

补充:

# yum install -y bind-utils
# dig     //查看域名解析到那个IP地址

配置Nginx的ssl

Nginx的SSL

让Nginx实现用https来访问网站。http是80端口,http是443端口,https其实是一种加密的http

SSL工作流程:

浏览器发送一个https的请求给服务器;
服务器要有一套数字证书,可以自己制作(后面的操作就是阿铭自己制作的证书),也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出>提示页面,这套证书其实就是一对公钥和私钥;
服务器会把公钥传输给客户端;
客户端(浏览器)收到公钥后,会验证其是否合法有效,无效会有警告提醒,有效则会生成一串随机数,并用收到的公钥加密;
客户端把加密后的随机字符串传输给服务器;
服务器收到加密随机字符串后,先用私钥解密(公钥加密,私钥解密),获取到这一串随机数后,再用这串随机字符串加密传输的数据(该加密为对称加密,所谓对称加密,就是将数据和私钥也就是这个随机字符串>通过某种算法混合在一起,这样除非知道私钥,否则无法获取数据内容);
服务器把加密后的数据传输给客户端;
客户端收到数据后,再用自己的私钥也就是那个随机字符串解密;

配置:

ssl on;
ssl_certificate aminglinux.crt;
ssl_certificate_key aminglinux.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}

申请证书:

网站(生产环境用):www.wosign.com(沃通) 
免费的:freessl.cn
注册账号、属于名

进入freessl.cn网站,注册号后登陆,证书列表-->申请证书

输入用户名,点击“创建免费的ssl证书”

将验证信息内容添加到到dnspod.cn网站中验证

注册dnspod.cn网站,并登录,进入域名解析,如果没有域名,先注册一个域名,再进行解析

点击立即体验,进入域名解析,对域名添加验证记录

回到证书申请界面点击验证,稍等几分钟,验证成功后就会生成证书,进入证书界面

保存三个证书,

# cd /etc/nginx
# mkdir ssl
# cd ssl
# vi ca   //将ca证书信息内容拷贝到该文件里
# vi bbs.crt //将证书的内容信息拷贝到该文件里
# vi bbs.key   //将私钥的内容信息拷贝到该文件里

下面修改主机配置文件

# vi /etc/nginx/conf.d/bbs.wangzb.cc.conf

server {
listen       443 ssl;
server_name  bbs.wangzb.cc;
ssl on;
ssl_certificate /etc/nginx/ssl/bbs.crt;
ssl_certificate_key /etc/nginx/ssl/bbs.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

# nginx -t
# nginx -s reload
# netstat -ltnp  //查看443端口
此时还不能访问,需要将443端口增加到firewall里

# firewall-cmd --add-port=443/tcp --permanent   //增加443端口到firewall
# firewall-cmd --reload  //重载firewall

最后在Windows的hosts文件中增加地址解析。

返回freessl网站证书申请验证界面,点击验证,验证成功后,再次访问bbs.wangzb.cc,可以看到网址是https开头的

转载于:https://my.oschina.net/u/3954059/blog/3011639

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值