nginx搭建httpsserver

來源:互聯網
上載者:User

標籤:ram   記憶體   --   alt   medium   blank   抽象   操作   返回   

HTTPS簡單介紹HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單來講就是HTTP的安全版。即HTTP下增加SSL層,HTTPS的安全基礎是SSL。因此加密的具體內容就須要SSL。它是一個URI scheme(抽象標識符體系),句法類同http:體系,用於安全的http傳輸資料。https使用的預設port是443.
ssl認證認證類型簡單介紹要設定安全server,使用公用鑰建立一對公私密金鑰對。大多數情況下。發送認證請求(包含自己的公開金鑰),你的公司證明材料以及費用到一個憑證授權單位(CA).CA驗證認證請求及您的身份。然後將認證返回給您的安全server。
可是內網實現一個server端和client傳輸內容的加密,能夠自己給自己頒發認證。僅僅須要忽略掉瀏覽器不信任的警報就可以!
由CA簽署的認證為您的server提供兩個重要的功能:
  • 瀏覽器會自己主動識別認證而且在不提示使用者的情況下同意建立一個安全連線
  • 當一個CA產生一個簽署過的認證,它為提供網頁給瀏覽器的組織提供身份擔保。
  • 多數支援ssl的webserver都有一個CA列表,它們的認證會被自己主動接受。當一個瀏覽器遇到一個其授權CA並不在列表中的認證,瀏覽器將詢問使用者是否接受或拒絕串連

產生ssl認證Html代碼  
  1. openssl genrsa -des3 -out wangzhengyi.key 2048  



Html代碼  
  1. openssl req -new -key wangzhengyi.key -out wangzhengyi.csr  



建立一個自己簽署的CA認證Html代碼  
  1. openssl req -new -x509 -days 3650 -key wangzhengyi_nopass.key -out wangzhengyi.crt  



搭建https虛擬機器主機虛擬機器主機設定檔Html代碼  
  1. upstream sslfpm {  
  2.     server 127.0.0.1:9000   weight=10   max_fails=3 fail_timeout=20s;  
  3. }  
  4.   
  5. server {   
  6.     listen       192.168.1.*:443;   
  7.     server_name  192.168.1.*;   
  8.       
  9.     #為一個server開啟ssl支援  
  10.     ssl                  on;  
  11.     #為虛擬機器主機指定pem格式的認證檔案  
  12.     ssl_certificate      /home/wangzhengyi/ssl/wangzhengyi.crt;   
  13.     #為虛擬機器主機指定私密金鑰檔案  
  14.     ssl_certificate_key  /home/wangzhengyi/ssl/wangzhengyi_nopass.key;   
  15.     #client可以反覆使用儲存在緩衝中的會話參數時間  
  16.     ssl_session_timeout  5m;  
  17.     #指定使用的ssl協議   
  18.     ssl_protocols  SSLv3 TLSv1;   
  19.     #指定許可的password描寫敘述  
  20.     ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;   
  21.     #SSLv3和TLSv1協議的伺服器password需求優先順序高於clientpassword  
  22.     ssl_prefer_server_ciphers   on;   
  23.   
  24.     location / {   
  25.         root   /home/wangzhengyi/ssl/;  
  26.         autoindex on;  
  27.             autoindex_exact_size    off;  
  28.             autoindex_localtime on;  
  29.     }   
  30.         # redirect server error pages to the static page /50x.html  
  31.         #  
  32.         error_page   500 502 503 504  /50x.html;  
  33.         error_page   404 /404.html;  
  34.   
  35.     location = /50x.html {  
  36.             root   /usr/share/nginx/www;  
  37.         }  
  38.     location = /404.html {  
  39.             root   /usr/share/nginx/www;  
  40.         }  
  41.       
  42.         # proxy the PHP scripts to fpm  
  43.         location ~ \.php$ {  
  44.         access_log  /var/log/nginx/ssl/ssl.access.log  main;  
  45.         error_log /var/log/nginx/ssl/ssl.error.log;  
  46.         root /home/wangzhengyi/ssl/;   
  47.         fastcgi_param   HTTPS   on;  
  48.             include /etc/nginx/fastcgi_params;    
  49.             fastcgi_pass    sslfpm;  
  50.         }  
  51. }  

HTTPSserver最佳化方法SSL操作須要消耗CPU資源。所以在多處理器的系統,須要啟動多個背景工作處理序,並且數量須要不少於可用CPU的個數。最消耗CPU資源的SSL操作是SSL握手。有兩種方法能夠將每一個client的握手運算元量降到最低:
  1. 保持client長串連。在一個SSL串連發送多個請求
  2. 在並發的串連或者興許的串連中重用SSL會話參數,這樣能夠避免SSL握手操作。

會話緩衝用於儲存SSL會話,這些緩衝在背景工作處理序間共用,能夠使用 ssl_session_cache指令進行配置。

1M緩衝能夠存放約4000個會話。預設的緩衝逾時時間是5m。能夠使用ssl_session_timeout加大它。


ssl_session_cache指令Html代碼  

  1. 文法:ssl_session_cache off|none|builtin:size|shared:name:size  
  2. 使用環境:main,server  
  3. 緩衝類型:  
  4. off -- 硬關閉,nginx明白告訴client這個會話不可重用  
  5. none -- 軟關閉,nginx告訴client會話可以被重用,可是nginx實際上不會重用它們  
  6. bultin -- openssl內建緩衝,僅可用於一個背景工作處理序.可能導致記憶體片段  
  7. shared -- 全部背景工作處理序的共用快取。(1)緩衝大小用位元組數指定(2)每一個緩衝必須擁有自己的名稱(3)同名的緩衝可用於多個虛擬機器主機  

最佳化示範範例Html代碼  
  1. #最佳化ssl服務  
  2. ssl_session_cache   shared:wzy:10m;   
  3. #client可以反覆使用儲存在緩衝中的會話參數時間  
  4. ssl_session_timeout  10m;  


參考連結http://nginx.org/cn/docs/http/configuring_https_servers.html

nginx搭建httpsserver

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.