好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Nginx配置并兼容HTTP實現(xiàn)代碼解析

Nginx配置并兼容HTTP實現(xiàn)代碼解析

熱門標(biāo)簽:南昌外呼系統(tǒng)定制 貴陽網(wǎng)絡(luò)外呼系統(tǒng)軟件 信陽電銷外呼系統(tǒng)怎么樣 宿州外呼系統(tǒng)公司 海外工廠地圖標(biāo)注 南充電銷外呼系統(tǒng) 陜西辦理400電話 地圖標(biāo)注小程序 株洲電銷

使用 OpenSSL 生成 SSL Key 和 CSR 文件

配置 HTTPS 要用到私鑰 example.key 文件和 example.crt 證書文件,申請證書文件的時候要用到 example.csr 文件,OpenSSL 命令可以生成 example.key 文件和 example.csr 證書文件。

CSR:Cerificate Signing Request,證書簽署請求文件,里面包含申請者的 DN(Distinguished Name,標(biāo)識名)和公鑰信息,在第三方證書頒發(fā)機(jī)構(gòu)簽署證書的時候需要提供。證書頒發(fā)機(jī)構(gòu)拿到 CSR 后使用其根證書私鑰對證書進(jìn)行加密并生成 CRT 證書文件,里面包含證書加密信息以及申請者的 DN 及公鑰信息

Key:證書申請者私鑰文件,和證書里面的公鑰配對使用,在 HTTPS 『握手』通訊過程需要使用私鑰去解密客戶端發(fā)來的經(jīng)過證書公鑰加密的隨機(jī)數(shù)信息,是 HTTPS 加密通訊過程非常重要的文件,在配置 HTTPS 的時候要用到

使用 OpenSSl命令可以在系統(tǒng)當(dāng)前目錄生成 example.key 和 example.csr 文件:

openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=Example Inc./OU=Web Security/CN=example.com"

下面是上述命令相關(guān)字段含義:

  • C:Country ,單位所在國家,為兩位數(shù)的國家縮寫,如: CN 就是中國
  • ST 字段: State/Province ,單位所在州或省
  • L 字段: Locality ,單位所在城市 / 或縣區(qū)
  • O 字段: Organization ,此網(wǎng)站的單位名稱;
  • OU 字段: Organization Unit,下屬部門名稱;也常常用于顯示其他證書相關(guān)信息,如證書類型,證書產(chǎn)品名稱或身份驗證類型或驗證內(nèi)容等;
  • CN 字段: Common Name ,網(wǎng)站的域名;

生成 csr 文件后,提供給 CA 機(jī)構(gòu),簽署成功后,就會得到一個 example.crt 證書文件,SSL 證書文件獲得后,就可以在 Nginx 配置文件里配置 HTTPS 了。

配置 HTTPS

基礎(chǔ)配置

要開啟 HTTPS 服務(wù),在配置文件信息塊(server block),必須使用監(jiān)聽命令 listen 的 ssl 參數(shù)和定義服務(wù)器證書文件和私鑰文件,如下所示:

	
server {
  #ssl參數(shù)
  listen       443 ssl;
  server_name     example.com;
  #證書文件
  ssl_certificate   example.com.crt;
  #私鑰文件
  ssl_certificate_key example.com.key;
  ssl_protocols    TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers     HIGH:!aNULL:!MD5;
  #...
}

證書文件會作為公用實體發(fā)送到每臺連接到服務(wù)器的客戶端,私鑰文件作為安全實體,應(yīng)該被存放在具有一定權(quán)限限制的目錄文件,并保證 Nginx 主進(jìn)程有存取權(quán)限。

私鑰文件也有可能會和證書文件同放在一個文件中,如下面情況:

ssl_certificate www.example.com.cert;
ssl_certificate_key www.example.com.cert;

這種情況下,證書文件的的讀取權(quán)限也應(yīng)該加以限制,僅管證書和私鑰存放在同一個文件里,但是只有證書會被發(fā)送到客戶端

命令 ssl_protocols 和 ssl_ciphers 可以用來限制連接只包含 SSL/TLS 的加強(qiáng)版本和算法,默認(rèn)值如下:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

由于這兩個命令的默認(rèn)值已經(jīng)好幾次發(fā)生了改變,因此不建議顯性定義,除非有需要額外定義的值,如定義 D-H 算法:

#使用DH文件
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#定義算法
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
#...

HTTP強(qiáng)制轉(zhuǎn)HTTPS

另外配置一個server塊,監(jiān)聽80端口,再加上rewrite。

server { 
  listen 80;
  server_name 服務(wù)器ip;   
  rewrite ^(.*)$ https://$host$1 permanent; #http強(qiáng)制轉(zhuǎn)https
}

server配置參考

server { 
  listen 80;
  server_name 服務(wù)器ip;   
  rewrite ^(.*)$ https://$host$1 permanent; #http強(qiáng)制轉(zhuǎn)https
}
server {
  charset utf-8;       #服務(wù)器編碼
  listen 443 ssl;      #監(jiān)聽地址
  server_name 服務(wù)器ip;  #證書綁定的網(wǎng)站域名
  server_tokens off;     #隱藏nginx版本號
  
  #ssl配置
  ssl_certificate  /etc/ssl/certs/nginx-selfsigned.crt; #證書公鑰
  ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;  #證書私鑰
  ssl_session_timeout 5m;
  ssl_ciphers SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers off;
  ssl_dhparam /etc/nginx/dhparams.pem;  

  #請求頭
  add_header Strict‐Transport‐Security max‐age=63072000;
  add_header X-Frame-Options SAMEORIGIN;
  add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;
  add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block";
  add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
  add_header Set-Cookie "HttpOnly";
  add_header Set-Cookie "Secure";
  
  #請求方法限制
  ## Only allow these request methods ##
   if ($request_method !~ ^(GET|POST|DELETE|PUT|PATCH)$ ) {
     return 444;
   }
  
  #訪問路徑匹配
  location / {
    root /usr/share/nginx/html; #站點目錄
      index index.html index.htm;
  }
  location /test/ {
     proxy_pass http://127.0.0.1:8100/; #轉(zhuǎn)發(fā)本地端口8100
  }
 
  #禁止訪問路徑
  # location /dirdeny {
  #   deny all;
  #   return 403;
  #}

  #錯誤頁面配置
  error_page  502 503 504 /error502.html;
    location = /error502.html{
    root /usr/share/nginx/html;
  }
  error_page  500 /error.html;
   location = /error.html{
      root /usr/share/nginx/html;
    }
  error_page  404 /notfind.html;
   location = /notfind.html{
      root /usr/share/nginx/html;
    }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:玉林 拉薩 開封 三明 石嘴山 鄭州 晉城 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx配置并兼容HTTP實現(xiàn)代碼解析》,本文關(guān)鍵詞  Nginx,配置,并,兼容,HTTP,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx配置并兼容HTTP實現(xiàn)代碼解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于Nginx配置并兼容HTTP實現(xiàn)代碼解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 漂亮主妇电视剧全集在线观看免费| china高中生腹肌gay飞机直播 | 被男人狂揉吃奶胸60分钟| 99在线在线视频免费视频观看| 神马电视剧免费观看| 性欧美金发洋妞xxxxbbbb| 欧美性受XXXX88喷潮| 用力?哦?高潮?喷水| 久久久久久精品一级毛片中文字幕| 撕掉她的衣服吮的双乳视频| 92看午夜福利1000集| 午夜精品一区二区在线观看的| 91久久日日躁夜夜躁欧美 | 欧亚熟女乱色一区二区| 亚洲国产欧美91| 伊人久久精品一区二区三区| 精品老牛文化传媒有限公司| 羞羞漫画免费观看| 我在厨房摸岳的乳| 中国男同gay国产twink| 欧美xx网| 亚洲人成电影网站免av费无码| 美国特级毛片免费一级视频| 欧美精品亚洲精品日韩专区| 掀开胸罩一边亲一边摸视频| 丝袜老片dorcelclub| 久久精品久久久精品美女| 国产精品爽爽久久久天天躁漫画 | 久久精美日产Aa二线三线| 免费一级片观看| 最好看中文字幕免费看| 99色视频| 群体交乱之放纵交换| 亚洲AV无码国产毛片久久春色| 操女人视频网站| 三级黄色视屏| 潘金莲一夜被爽了七次是什么意思| 国产一级婬片A片AAA毛片鲜肉 | 离婚后调教1一20| 三上悠亚ssis-617无码| 国产一区二区四区在线2021|