Nginx 配置 Https 模塊

在如今越來越強調(diào)隱私與數(shù)據(jù)安全的情況下椭盏,我們的資源訪問當(dāng)然也要盡可能的安全奸汇,我們知道 HTTP 協(xié)議是明文傳輸?shù)模虼瞬荒鼙WC數(shù)據(jù)的安全性既忆,而 HTTPS 則是對傳輸?shù)臄?shù)據(jù)進行了加密柠座,提高數(shù)據(jù)傳輸?shù)陌踩砸匮拧O旅婢徒榻B一下為 Nginx 配置 Https 模塊的方式。

一妈经、系統(tǒng)環(huán)境


CentOS 6.9

Nginx 1.13.0

二淮野、已經(jīng)安裝過 Nginx


2.1 使用場景

某服務(wù)器上已經(jīng)安裝過 Nginx捧书,在 nginx.conf 中配置了 SSL (HTTPS) 后重啟 nginx 出現(xiàn)以下錯誤信息:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37

2.2 原因

由于 nginx 缺少了 http_ssl_module 模塊。

我們可以使用如下命令查看安裝 nginx 時的配置參數(shù)骤星,如:

[root@NC01077718 ~]# nginx -V
nginx version: nginx/1.13.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx

可以看到配置參數(shù)只有 --prefix=/usr/local/nginx经瓷,沒有 http_ssl_module。

2.3 解決方法

重新編譯安裝 nginx洞难,并在編譯時加入 http_ssl_module 模塊舆吮。在進行重新編譯時,要清楚幾個信息队贱,如下示例:

nginx 的安裝目錄: /usr/local/nginx
nginx 的源碼目錄:/data/software/nginx/nginx-1.13.0/

(1) 重新配置

進入源碼目錄色冀,執(zhí)行如下命令重新配置:

[root@hadoop1 nginx-1.13.0]# cd /data/software/nginx/nginx-1.13.0

[root@hadoop1 nginx-1.13.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

等待編譯完成,如果沒有出現(xiàn) Error 信息柱嫌,表示編譯成功

編譯過程

注:

由于是已經(jīng)安裝過 nginx 的環(huán)境了锋恬。因此,理論上 nginx 所依賴的系統(tǒng)庫(如 PCRE 等庫)也已經(jīng)具備了慎式。

(2) 重新編譯

運行如下命令進行編譯

[root@hadoop1 nginx-1.13.0]# pwd
/data/software/nginx/nginx-1.13.0
[root@hadoop1 nginx-1.13.0]# make
  • 這里不要進行 make install伶氢,否則就是覆蓋安裝

(3) 備份已安裝好的 nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

(4) 停止 nginx (如果在運行狀態(tài))

nginx -s stop

(5) 覆蓋原有的 nginx

將剛剛編譯好的 nginx 覆蓋掉原有的 nginx

cp ./objs/nginx /usr/local/nginx/sbin/

(6) 查看覆蓋后的 nginx 的配置信息

[root@hadoop1 objs]# nginx -V
nginx version: nginx/1.13.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

可以看到,配置參數(shù)中已經(jīng)帶有了 http_ssl_module 模塊瘪吏,說明重新編譯并替換成功

三癣防、全新安裝


如果是未安裝 Nginx 的服務(wù)器,則使用如下方式全新安裝掌眠,安裝文檔中已經(jīng)加入了 nginx https 模塊蕾盯。

CentOS 6.7 編譯安裝 nginx

附錄一:配置 nginx https


Nginx https 配置示例:

server{
        listen       80;
        server_name  api.jiangzhuolin.com;
        # force redirect http to https
        rewrite ^ https://$http_host$request_uri?permanent;
}

server {
        listen 443 ssl;
        # ssl on;
        server_name api.jiangzhuolin.com;
        index index.html index.htm index.jsp index.php;
        if ( $query_string ~* ".*[\;'\<\>].*" ){
                return 404;
        }

        location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:9090;
        }

        ssl_certificate /usr/local/nginx/ssl/jiangzhuolin.com.cer;
        ssl_certificate_key /usr/local/nginx/ssl/cert.key;

        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;
        access_log      /usr/local/nginx/logs/api.jiangzhuolin.com.access.log;
        error_log       /usr/local/nginx/logs/api.jiangzhuolin.com.error.log;
}

注:

  • 把 ssl on; 這行去掉,ssl 寫在 443 端口后面蓝丙。這樣 http 和 https 的鏈接都可以用级遭。然后上方的第一個 server 對 http 鏈接進行了強制重定向到 https。這樣就可以實現(xiàn)用戶輸入 http 的時候不會訪問不到服務(wù)并且也能夠跳轉(zhuǎn)到 https 協(xié)議渺尘。
  • ssl_certificate 配置的就是我們的 https 的證書挫鸽,也就是我們的公鑰。當(dāng)我們開啟 https 協(xié)議后鸥跟,客戶端與服務(wù)器端的通信將會使用該證書(公鑰)來進行數(shù)據(jù)的加密丢郊。
  • ssl_certificate_key 配置的就是我們的 https 的密鑰(私鑰),該文件的作用就是將加密的數(shù)據(jù)進行解密医咨。
  • 證書的獲取有多種途徑枫匾,可以自行網(wǎng)卡搜索。目前既可以從多個 CA 發(fā)行商處申請免費的 SSL 證書拟淮,也可以購買付費的商用 SSL 證書干茉,具體選擇視情況而定。甚至也可以自己生成自簽名的 SSL 證書很泊,但此類證書不會被瀏覽器信任角虫,所以可能還需要手動安裝證書沾谓。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市上遥,隨后出現(xiàn)的幾起案子搏屑,更是在濱河造成了極大的恐慌,老刑警劉巖粉楚,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亮垫,居然都是意外死亡模软,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門饮潦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來燃异,“玉大人,你說我怎么就攤上這事继蜡』乩” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵稀并,是天一觀的道長仅颇。 經(jīng)常有香客問我,道長碘举,這世上最難降的妖魔是什么忘瓦? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮引颈,結(jié)果婚禮上耕皮,老公的妹妹穿的比我還像新娘。我一直安慰自己蝙场,他們只是感情好凌停,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著售滤,像睡著了一般罚拟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趴泌,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天舟舒,我揣著相機與錄音,去河邊找鬼嗜憔。 笑死秃励,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吉捶。 我是一名探鬼主播夺鲜,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼皆尔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了币励?” 一聲冷哼從身側(cè)響起慷蠕,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎食呻,沒想到半個月后流炕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡仅胞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年每辟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片干旧。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡渠欺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出椎眯,到底是詐尸還是另有隱情挠将,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布编整,位于F島的核電站舔稀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闹击。R本人自食惡果不足惜镶蹋,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赏半。 院中可真熱鬧贺归,春花似錦、人聲如沸断箫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仲义。三九已至婶熬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間埃撵,已是汗流浹背赵颅。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留暂刘,地道東北人饺谬。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像谣拣,于是被迫代替她去往敵國和親募寨。 傳聞我的和親對象是個殘疾皇子族展,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 瀏覽器地址欄標(biāo)志著 HTTPS 的綠色小鎖頭從心理層面上可以給用戶專業(yè)安全的心理暗示,本文簡單總結(jié)一下如何在 Ng...
    QieZi閱讀 37,958評論 0 10
  • Page 1:nginx 服務(wù)器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,539評論 1 41
  • 編譯自:installing-nginx-open-source 目錄 選擇 Stable 還是 Mainline...
    C86guli閱讀 3,852評論 0 21
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理拔鹰,服務(wù)發(fā)現(xiàn)仪缸,斷路器,智...
    卡卡羅2017閱讀 134,660評論 18 139
  • 1.簡介: ? Nginx:engine X 列肢,2002年恰画,開源,商業(yè)版? http協(xié)議:web服務(wù)器(類似于ht...
    尛尛大尹閱讀 1,867評論 0 3