1.建立配置文件php
vim /usr/local/nginx/conf/vhost/load.conf #添加如下內容:html
upstream qq_com #名字自定義,藉助此模塊定義多個IP,後面server_name調用此模塊 { ip_hash; #同一個用戶始終保持訪問在同一機器 server 61.135.157.156:80; server 125.39.240.113:80; } server { 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; } }
2.檢查並從新加載配置:linux
/usr/local/nginx/sbin/nginx -t;/usr/local/nginx/sbin/nginx -s reloadnginx
3.測試:vim
curl -x127.0.0.1:80 www.qq.com #正常訪問qq主頁bash
PS: dig命令:域名解析工具,可將域名解析成對應IP;使用yum安裝bind-utils包。負載均衡
Nginx不支持代理https(即端口爲443)curl
1.相關生成工具準備:工具
yum install -y openssl測試
2.生成私鑰:
openssl genrsa -des3 -out tmp.key 2048 #生成rsa格式長度爲2048的名字爲tmp.key的私鑰,根據提示輸入兩次密碼
3.轉換key,取消上一步設置的密碼 #即打開https網頁不用輸密碼
openssl rsa -in tmp.key -out aminglinux.key #將原有的tmp.key私鑰轉換生成aminglinux.key密鑰,輸入一次tmp.key的密碼,生成aminglinux.key私鑰無密碼。
4.生成證書請求文件:
openssl req -new -key aminglinux.key -out aminglinux.csr #按要求輸入相關信息:國家代碼,省份,地市,公司名,部門,server名,郵件地址,以上可直接回車,若線上使用,應規範填寫。輸入私鑰保護密碼和名字。 須要用.csr 文件和私鑰生成公鑰。
5.生成公鑰: #.crt文件爲生成的公鑰
openssl x509 -req -days 365 -in aminglinux.csr -signkey aminglinux.key -out aminglinux.crt
1.建立ssl配置文件:
vim /usr/local/nginx/conf/vhost/ssl.conf #添加如下內容:
server { listen 443; server_name aming.com; index index.html index.php; root /data/wwwroot/aming.com; ssl on; #開啓ssl ssl_certificate aminglinux.crt; #配置公鑰 ssl_certificate_key aminglinux.key; #配置私鑰 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #配置協議 }
2.檢查並從新加載配置:
/usr/local/nginx/sbin/nginx -t;/usr/local/nginx/sbin/nginx -s reload
#若報錯unknown directive 「ssl」 ,需從新編譯nginx,加上 --with-http_ssl_module #./configure --prefix=/usr/local/nginx --with-http_ssl_module;make&&make install;
3.建立測試目錄和文件:
mkdir /data/wwwroot/aming.com; echo 「ssl test page.」>/data/wwwroot/aming.com/index.html
4.測試:
在本機/etc/hosts文件中添加對應域名 aming.com,執行curl https://aming.com/ #提示證書不可信任,代表證書配置成功,由於是私人建立的證書因此提示不可信任。