nginx负载均衡-ssl原理-生成ssl密钥对-nginx配置ssl

nginx负载均衡:

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

 

ssl原理:

 

生成ssl密钥对:

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   

 

nginx配置ssl:

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

相关文章
相关标签/搜索