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/ #提示证书不可信任,代表证书配置成功,由于是私人建立的证书因此提示不可信任。