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

相關文章
相關標籤/搜索