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
訪問測試
提示證書不被信任,其實是已經配置成功了