0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何配置服務(wù)器使用 HTTPS

Linux愛好者 ? 2018-02-09 15:17 ? 次閱讀

大家好!分享即關(guān)懷,我們很樂意與你分享其他的一些知識。我們準(zhǔn)備了一個 Nginx 指南,分為三個系列。如果你已經(jīng)知道一些 Nginx 知識或者想擴展你的經(jīng)驗和認(rèn)知,這個再合適不過了。

我們將告訴你 Nginx 的運作模式、蘊含的概念,怎樣通過調(diào)優(yōu) Nginx 來提高應(yīng)用性能,或是如何設(shè)置它的啟動和運行。

這個教程有三個部分:

基本概念—— 這部分需要去了解 Nginx 的一些指令和使用場景,繼承模型,以及 Nginx 如何選擇 server 塊,location 的順序。

性能—— 介紹改善 Nginx 速度的方法和技巧,我們會在這里談及 gzip 壓縮,緩存,buffer 和超時。

SSL 安裝—— 如何配置服務(wù)器使用 HTTPS

創(chuàng)建這個系列,我們希望,一是作為參考書,可以通過快速查找到相關(guān)問題(比如 gzip 壓縮,SSL 等)的解決方式,也可以直接通讀全文。為了獲得更好的學(xué)習(xí)效果,我們建議你在本機安裝 Nginx 并且嘗試進行實踐。

SSL 和 TLS

SSL(Socket Secure Layer 縮寫)是一種通過 HTTP 提供安全連接的協(xié)議。

SSL 1.0 由 Netscape 開發(fā),但由于嚴(yán)重的安全漏洞從未公開發(fā)布過。SSL 2.0 于 1995 年發(fā)布,它存在一些問題,導(dǎo)致了最終的 SSL 3.0 在 1996 年發(fā)布。

TLS(Transport Layer Security 縮寫)的第一個版本是作為 SSL 3.0 的升級版而編寫的。之后 TLS 1.1 和 1.2 出來了。現(xiàn)在,就在不久之后,TLS 1.3 即將推出(這確實值得期待),并且已經(jīng)被一些瀏覽器所支持。

從技術(shù)上講,SSL 和 TLS 是不同的(因為每個協(xié)議都描述了協(xié)議的不同版本),但其中使用的許多名稱是可以互換的。

基本 SSL/TLS 配置

為了處理 HTTPS 流量,你需要具有 SSL/TLS 證書。你可以通過使用 Let’s encrypt 以生成免費的證書。

當(dāng)你擁有證書之后,你可以通過以下的方式輕易切換至 HTTPS:

開始監(jiān)聽端口 443(當(dāng)你輸入 https://sample.co時瀏覽器將使用的默認(rèn)端口)

提供證書及其密鑰

server{

listen443ssldefault_server;

listen[::]:443ssldefault_server;

ssl_certificate/etc/nginx/ssl/netguru.crt;

ssl_certificate_key/etc/nginx/ssl/netguru.key;

}

我們也想通過調(diào)整配置實現(xiàn):

僅使用 TLS 協(xié)議。由于眾所周知的漏洞,所有的 SSL 版本都將不再使用

使用預(yù)定義的安全的服務(wù)器密碼(類似于協(xié)議的情況 – 那些日子只有少數(shù)密碼被認(rèn)為是安全的)

請牢記,上述設(shè)置總是在變化的。時不時重新更新是個好主意。

ssl_protocolsTLSv1TLSv1.1TLSv1.2;

ssl_ciphersEECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;

ssl_prefer_server_cipherson;

server{

listen443ssldefault_server;

listen[::]:443ssldefault_server;

ssl_certificate/etc/nginx/ssl/netguru.crt;

ssl_certificate_key/etc/nginx/ssl/netguru.key;

}

TLS 會話恢復(fù)

使用 HTTPS,在 TCP 之上需要增加 TLS 握手。這大大增加了此前實際數(shù)據(jù)傳輸?shù)臅r間。假設(shè)你從華沙請求 /image.jpg,并接入到柏林最近的服務(wù)器:

如何配置服務(wù)器使用 HTTPS

為了在 TLS 握手期間節(jié)省一個 roundtrip 時間,以及生成新密鑰的計算開銷,我們可以重用在第一個請求期間生成的會話參數(shù)??蛻舳撕头?wù)器可以將會話參數(shù)存儲在會話 ID 密鑰的后面。在接下來的 TLS 握手過程中,客戶端可以發(fā)送會話 ID,如果服務(wù)器在緩存中仍然有正確的條目,那么會重用前一個會話所生成的參數(shù)。

server{

ssl_session_cacheshared:SSL:10m;

ssl_session_timeout1h;

}

OCSP Stapling

SSL 證書可以隨時撤銷。瀏覽器為了知道給定的證書是否不再有效,需要通過在線證書狀態(tài)協(xié)議 (Online Certificate Status Protocol ,OCSP) 執(zhí)行額外的查詢。無需用戶執(zhí)行指定的 OCSP 查詢,我們可以在服務(wù)器上執(zhí)行此操作,緩存其結(jié)果,并在 TLS 握手期間為客戶端提供 OCSP 響應(yīng)。它被稱為OCSP stapling。

server{

ssl_staplingon;

ssl_stapling_verifyon;#verifyOCSPresponse

ssl_trusted_certificate/etc/nginx/ssl/lemonfrog.pem;#tellnginxlocationofallintermediatecertificates

resolver8.8.8.88.8.4.4valid=86400s;#resolutionoftheOCSPresponderhostname

resolver_timeout5s;

}

Security headers

有一些標(biāo)頭確實值得調(diào)整以提供更高的安全性。有關(guān)更多關(guān)于標(biāo)頭及其詳細信息,你絕對應(yīng)該查看OWASP 項目之安全標(biāo)頭。

HTTP Strict-Transport-Security

或簡稱 HSTS,強制用戶代理在向源發(fā)送請求時使用 HTTPS。

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";

X-Frame-Options

表示瀏覽器是否需要在一幀、一個 iframe 或一個對象標(biāo)簽中渲染頁面。

add_header X-Frame-Options DENY;

X-Content-Type-Options

此選項將阻止瀏覽器在判斷文件類型時嗅探文件。文件將會按照 Content-Type 頭中聲明的格式轉(zhuǎn)譯。

add_header X-Content-Type-Options nosniff;

Server tokens

另一個很好的做法是在 HTTP 響應(yīng)頭字段中隱藏有關(guān) Web 服務(wù)器的信息:

Server : nginx/1.13.2

實現(xiàn)此功能可以通過禁用 server_tokens 指令:

server_tokens off;

附錄 :: Let’s Encrypt

安裝

最新的安裝包可以在這里找到。

為了測試使用暫存環(huán)境,不排除速率限制。

生成新證書

certbotcertonly--webroot--webroot-path/var/www/netguru/current/public/\

-dfoo.netguru.co\

-dbar.netguru.co

確保能夠正確更新。

certbot renew --dry-run

確保你在 crontab 添加了自動更新。運行 crontab -e,同時添加下邊一行代碼

3 * * * /usr/bin/certbot renew --quiet --renew-hook "/usr/sbin/nginx -s reload"

檢查 SSL 是否能夠通過 ssllabs 正常運行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SSL
    SSL
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    25709
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    142

    瀏覽量

    12154
  • https
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    6090

原文標(biāo)題:Nginx 教程(3):SSL 設(shè)置

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    vsftpd服務(wù)器的安裝與配置

    Linux常用服務(wù)器搭建ftp服務(wù)器--一般遠程鏈接服務(wù)器使用較多
    發(fā)表于 07-04 13:37

    RCB2系統(tǒng)服務(wù)器使用介紹

    《西子奧的斯服務(wù)器LCB2RCB2服務(wù)器使用[技術(shù)專攻]》由會員分享,可在線閱讀,更多相關(guān)《西子奧的斯服務(wù)器LCB2RCB2服務(wù)器使用[技術(shù)專攻](49頁珍藏版)》請在人人文庫網(wǎng)上搜索
    發(fā)表于 09-06 07:50

    如何基于HTTP Web服務(wù)器示例實現(xiàn)TLS HTTPS服務(wù)器?

    我正在嘗試基于此 HTTP Web 服務(wù)器示例實現(xiàn) TLS HTTPS 服務(wù)器https://github.com/STMicroelectronics/x-cube-azrtos-
    發(fā)表于 01-04 06:23

    AT32基于mbed TLS的HTTPS服務(wù)器

    AT32基于mbed TLS的HTTPS服務(wù)器介紹如何使用mbed TLS 搭建一個HTTPS 服務(wù)器,用戶可以根據(jù)自己的應(yīng)用去編寫網(wǎng)頁內(nèi)容的同時,又簡單地將傳輸數(shù)據(jù)加密。
    發(fā)表于 10-26 08:24

    np312-串口服務(wù)器使用說明

    np312-串口服務(wù)器使用說明:介紹了np312是一款具備連網(wǎng)能力的高性能串口設(shè)備聯(lián)網(wǎng)服務(wù)器 。
    發(fā)表于 04-02 10:37 ?33次下載

    如何配置設(shè)置建立dhcp服務(wù)器

    如何配置設(shè)置建立dhcp服務(wù)器    DHCP服務(wù)器典型配置實例 常見的DHCP組網(wǎng)方式可分為兩類
    發(fā)表于 01-30 17:19 ?3611次閱讀
    如何<b class='flag-5'>配置</b>設(shè)置建立dhcp<b class='flag-5'>服務(wù)器</b>

    如何配置基于Win 2003 的服務(wù)器

    如何配置基于Win 2003 的服務(wù)器 概要   本文介紹了如何配置基于 Windows Server 2003 的服務(wù)器,以便當(dāng)計
    發(fā)表于 01-29 11:31 ?611次閱讀

    如何配置Win 2003的DNS服務(wù)器

    如何配置Win 2003的DNS服務(wù)器 概要   本文介紹了如何配置“域名系統(tǒng)”(DNS) 服務(wù)器,使其承載可從外
    發(fā)表于 01-29 11:35 ?648次閱讀

    服務(wù)器租用或服務(wù)器托管硬件配置應(yīng)如何選擇

    大家都知道,在選擇服務(wù)器的時候,我們需要根據(jù)不同的需求對服務(wù)器進行硬件配置。盲目的配置服務(wù)器硬件會導(dǎo)致資金的浪費,
    的頭像 發(fā)表于 03-14 16:29 ?3212次閱讀

    服務(wù)器的基本配置_服務(wù)器配置怎么看

    本文主要闡述了服務(wù)器的基本配置服務(wù)器配置的查看方法。
    的頭像 發(fā)表于 07-24 10:16 ?3.4w次閱讀
    <b class='flag-5'>服務(wù)器</b>的基本<b class='flag-5'>配置</b>_<b class='flag-5'>服務(wù)器</b>的<b class='flag-5'>配置</b>怎么看

    AN4108_如何搭建用于家庭智能耗電顯示的HTTPS服務(wù)器

    AN4108_如何搭建用于家庭智能耗電顯示的HTTPS服務(wù)器
    發(fā)表于 11-21 12:57 ?0次下載
    AN4108_如何搭建用于家庭智能耗電顯示的<b class='flag-5'>HTTPS</b><b class='flag-5'>服務(wù)器</b>

    AN4108_如何搭建用于家庭智能耗電顯示的HTTPS服務(wù)器

    AN4108_如何搭建用于家庭智能耗電顯示的HTTPS服務(wù)器
    發(fā)表于 11-21 17:06 ?0次下載
    AN4108_如何搭建用于家庭智能耗電顯示的<b class='flag-5'>HTTPS</b><b class='flag-5'>服務(wù)器</b>

    linux查看服務(wù)器配置

    在Linux操作系統(tǒng)中,了解服務(wù)器配置對于系統(tǒng)管理員和網(wǎng)絡(luò)工程師而言至關(guān)重要。通過查看服務(wù)器配置,您可以了解服務(wù)器的硬件和軟件組成部分,包括
    的頭像 發(fā)表于 11-17 09:41 ?1061次閱讀

    租用和托管是兩種主要的服務(wù)器使用方式

    租用和托管是兩種主要的服務(wù)器使用方式。租用是由服務(wù)提供商提供硬件,負(fù)責(zé)基本軟件的安裝、環(huán)境配置,確保服務(wù)器上基本服務(wù)功能的正常運行。而托管則
    的頭像 發(fā)表于 12-13 09:33 ?389次閱讀

    云存儲服務(wù)器怎么配置

    云存儲服務(wù)器配置是一個復(fù)雜的過程,涉及到硬件、軟件、網(wǎng)絡(luò)等多個方面。 云存儲服務(wù)器配置概述 云存儲是一種基于互聯(lián)網(wǎng)的存儲方式,用戶可以通過網(wǎng)絡(luò)訪問存儲在遠程
    的頭像 發(fā)表于 07-02 09:15 ?730次閱讀