upstream qq_comphp
{html
ip_hash;linux
server 61.135.157.156:80;nginx
server 125.39.240.113:80;web
}算法
servervim
{后端
listen 80;浏览器
server_name www.qq.com;服务器
location /
{
proxy_pass http://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;
}
}
代理服务器后面能够有多个web服务器,多个web服务器提供服务时,能够实现负载均衡。
借助upstream 模块来进行负载均衡的配置
查看解析的IP命令dig
解析出了两个IP,咱们能够用这两个IP125.39.240.113和61.135.157.156,作负载均衡
编辑配置文件vim /usr/local/nginx/conf/vhost/load.conf,添加内容,保存退出
ip_hash,保证同一个用户始终保持在同一台机器上
先不加载配置文件,本机去访问www.qq.com,会访问到默认虚拟主机
检查配置文件语法正误,并从新加载
再访问www.qq.com,看到的是qq.com的主页
nginx不支持去代理https,只能代理http,新版本的Nginx能够代理tcp。
想要实现代理https,nginx监听443端口,但web服务必须是80端口。
SSL工做流程
切换到/usr/local/nginx/conf/目录下
查看openssl工具的安装包
生成一个私钥,输入两次密码
转换key,取消密码
-in表示待转换的秘钥,-out表示输出的秘钥
删掉tmp.key
生成证书请求文件
生成公钥
server
{
listen 443;
server_name aming.com;
index index.html index.php;
root /data/wwwroot/aming.com;
ssl on;
ssl_certificate aminglinux.crt;
ssl_certificate_key aminglinux.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
编辑配置文件,增长内容,保存退出
ssl_certificate gurui.crt,指定公钥
ssl_certificate_key gurui.key,指定私钥
ssl_protocols TLSv1 TLSv1.1 TLSv1.2,ssl 的协议
检查配置文件语法正误
出现报错,未识别ssl配置
从新编译nginx
而后编译和安装
查看nginx的编译参数,检查配置文件语法正误,重启nginx,查看监听端口
建立一个测试文件
编辑/etc/hosts
访问测试
提示证书不被信任,其实是已经配置成功了