Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl
一、Nginx負載均衡
vim /usr/local/nginx/conf/vhost/load.conf // 寫入如下內(nèi)容
upstream qq_com
{
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;
}
}
upstream來指定多個web server
先裝個包dig
dig qq.com會返回兩個ip
?dig ask.apelearn.com
?
ping qq.com也會查看到一個ip
?配置腳本
vim /usr/local/nginx/conf/vhost/load.conf?
測試
?
二、ssl原理
瀏覽器發(fā)送一個https的請求給服務(wù)器;
服務(wù)器要有一套數(shù)字證書,可以自己制作(后面的操作就是阿銘自己制作的證書),也可以向組織申請,區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過,才可以繼續(xù)訪問,而使用受信任的公司申請的證書則不會彈出>提示頁面,這套證書其實就是一對公鑰和私鑰;
服務(wù)器會把公鑰傳輸給客戶端; 客戶端(瀏覽器)收到公鑰后,會驗證其是否合法有效,無效會有警告提醒,有效則會生成一串隨機數(shù),并用收到的公鑰加密;
客戶端把加密后的隨機字符串傳輸給服務(wù)器;
服務(wù)器收到加密隨機字符串后,先用私鑰解密(公鑰加密,私鑰解密),獲取到這一串隨機數(shù)后,再用這串隨機字符串加密傳輸?shù)臄?shù)據(jù)(該加密為對稱加密,所謂對稱加密,就是將數(shù)據(jù)和私鑰也就是這個隨機字符串>通過某種算法混合在一起,這樣除非知道私鑰,否則無法獲取數(shù)據(jù)內(nèi)容);
服務(wù)器把加密后的數(shù)據(jù)傳輸給客戶端;
客戶端收到數(shù)據(jù)后,再用自己的私鑰也就是那個隨機字符串解密;
?
三、生成ssl密鑰對
cd /usr/local/nginx/conf
需要用到包
openssl genrsa -des3 -out tmp.key 2048//key文件為私鑰
?
openssl rsa -in tmp.key -out davery.key //轉(zhuǎn)換key,取消密碼
rm -f tmp.key
?
openssl req -new -key davery.key -out davery.csr//生成證書請求文件,需要拿這個文件和私鑰一起生產(chǎn)公鑰文件,自己可以按照需求填寫
?
openssl x509 -req -days 365 -in davery.csr -signkey davery.key -out davery.crt
?
這里的davery.crt為公鑰
?
四、Nginx配置ssl
vim /usr/local/nginx/conf/vhost/ssl.conf//加入如下內(nèi)容
mkdir /data/wwwroot/davery.com
server
{
listen 443;
server_name davery.com;
index index.html index.php;
root /data/wwwroot/davery.com;
ssl on;
ssl_certificate davery.crt;
ssl_certificate_key davery.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
?
?
-t && -s reload //若報錯unknown directive “ssl” ,需要重新編譯nginx,加上--with-http_ssl_module
?
make && make install
查看之后多了
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
重啟ok
查看監(jiān)聽端口多了443端口
?
?mkdir /data/wwwroot/davery.com
測試使用curl會報錯400
直接訪問需要加入到
vi /etc/hosts
curl https://davery.com/ 報錯證書標記不合法
之后編輯電腦hosts加上本機ip
成功之后顯示
echo “ssl test page.”>/data/wwwroot/davery.com/index.html
編輯hosts,增加127.0.0.1 davery.com
curl https://davery.com/
?
轉(zhuǎn)載于:https://www.cnblogs.com/davery/p/8976342.html
總結(jié)
以上是生活随笔為你收集整理的Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读郭老师推荐书籍--《原则》
- 下一篇: C++ Linux下线程池的实现