Nginx配置SSL證書實(shí)現(xiàn)Https訪問

背景

由于項(xiàng)目需求,安全起見,需要將之前的http接口訪問變成https訪問,所以需要配置SSL證書揖庄。項(xiàng)目的架構(gòu)是這樣的:

系統(tǒng)架構(gòu).png

基本架構(gòu)是硬負(fù)載(ReadWhere)+ 軟負(fù)載(Nginx)+ Tomcat集群,現(xiàn)在的問題是SSl證書要配置在哪里欠雌,直接配置在硬負(fù)載上蹄梢?還是分別配置在Nginx和Tomcat上?還是其他的配置方法呢富俄?

首先在硬負(fù)載上配置放棄了禁炒,然后通過在網(wǎng)上查找資料,發(fā)現(xiàn)可以只在Nginx上配置證書霍比,就是說Nginx接入使用Https幕袱,而Nginx與Tomcat之間使用Http進(jìn)行銜接,這樣就游了一個(gè)整體思路悠瞬。

關(guān)于SSL證書

關(guān)于SSL證書這里簡單進(jìn)行介紹们豌,也是因?yàn)轫?xiàng)目需要涯捻,進(jìn)行了簡單的了解。

SSL證書分為大致分為三種望迎,域名級(DV)障癌、企業(yè)級(OV)、增強(qiáng)級(EV)擂煞,安全性以及價(jià)格依次增加。根據(jù)自己的需求進(jìn)行選擇趴乡,個(gè)人使用可以使用DV对省,便宜;企業(yè)用的話一般使用OV晾捏,特殊情況下使用EV蒿涎。下面是幾家云服務(wù)商的OV SSL證書的價(jià)格對比,Symantec和GeoTrust被選用的比較多惦辛,都屬于賽門鐵克旗下劳秋。

云服務(wù)商 證書品牌 價(jià)格
阿里云 Symantec 4000/年
阿里云 GeoTrust 2062.4/年
騰訊云 Symantec 5000/年
騰訊云 GeoTrust 2850/年
西部數(shù)碼 Symantec 3880/年
西部數(shù)碼 GeoTrust 2137/年

SSL證書配置

由于Nginx對于SSL證書配置的支持才使得這種實(shí)現(xiàn)方式成為了可能,不得不感嘆Nginx的強(qiáng)大胖齐。

證書準(zhǔn)備

Nginx配置需要.pem/.crt證書 + .key秘鑰玻淑,如果您現(xiàn)在擁有的是其他形式的證書,請按照相關(guān)說明轉(zhuǎn)化成要求的證書類型呀伙,否則是不能完成證書的配置的补履。一般購買商家都會(huì)有相應(yīng)的轉(zhuǎn)換工具。

準(zhǔn)備好了之后剿另,將證書和秘鑰放到Nginx的conf目錄下(也就是跟配置文件nginx.conf在同一個(gè)目錄)箫锤,這里特別需要注意:

  1. 如果是在linux系統(tǒng)下配置,這就算準(zhǔn)備好了雨女;
  2. 如果是在windows系統(tǒng)下谚攒,需要將.key秘鑰文件中的密碼去除,否則就會(huì)導(dǎo)致配置之后Nginx啟動(dòng)不起來氛堕,這里是一個(gè)坑馏臭,本人就卡在了這里,具體處理方法也很簡單讼稚,在網(wǎng)上下載openssl的windows版本位喂,然后將cmd切換到bin目錄下,執(zhí)行openssl rsa -in server.key -out server2.key乱灵,生成的server2.key就是配置需要的秘鑰文件塑崖,但是需要將文件名改成server.key。
修改Nginx配置文件

以下是我nginx.conf配置文件的局部,端口著迷沒有使用默認(rèn)的443痛倚,而是改成了8185规婆,根據(jù)您的需要進(jìn)行修改即可,其他配置基本上按照下面就沒問題。

server {
        listen       8185;
        server_name  localhost; 
        ssl                  on; 
        ssl_certificate      server.pem; 
        ssl_certificate_key  server.key; 
        ssl_session_timeout  5m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; 
        ssl_prefer_server_ciphers   on;

        location / {
            proxy_set_header  Host $host:$server_port;  
            proxy_set_header  X-Real-IP  $remote_addr;  
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_set_header  X-Forwarded-Proto  $scheme;
            proxy_connect_timeout   5;
            proxy_send_timeout      5;
            proxy_read_timeout      5; 
            proxy_pass http://qlddm_server;
        }
修改Tomcat配置文件

雖然不需要在Tomcat配置證書抒蚜,但是仍然需要修改一下Tomcat的配置Server.xml配置文件掘鄙,具體包含兩個(gè)地方:

<Connector 
       executor="tomcatThreadPool"
       port="7083" 
       protocol="org.apache.coyote.http11.Http11Nio2Protocol" 
       connectionTimeout="20000" 
       maxConnections="8000" 
       redirectPort="8185" 
       proxyPort="8185"
       enableLookups="false" 
       acceptCount="100" 
       maxPostSize="10485760" 
       compression="on" 
       disableUploadTimeout="true" 
       compressionMinSize="2048" 
       acceptorThreadCount="2" 
       compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 
       URIEncoding="utf-8"
    />

需要將redirectPort和proxyPort都修改為您的Nginx監(jiān)聽端口號。

<Valve className="org.apache.catalina.valves.RemoteIpValve"
             remoteIpHeader="X-Forwarded-For"
             protocolHeader="X-Forwarded-Proto"
             protocolHeaderHttpsValue="https"  httpsServerPort="8185"/>

需要增加以上的Value標(biāo)簽嗡髓,注意httpsServerPort也需要修改為Nginx監(jiān)聽端口號操漠。

寫在最后

至此,關(guān)于SSL的配置基本上就完成了饿这,啟動(dòng)Nginx以及Tomcat容器之后浊伙,不出意外應(yīng)該就可以通過Https正常訪問了。另外想說的是长捧,由于本人工作場景是一個(gè)硬負(fù)載均衡兩臺(tái)服務(wù)器嚣鄙,所以相同的配置需要在兩臺(tái)服務(wù)器上分別做一次。本文僅供參考串结,如對您有所幫助哑子,實(shí)乃萬幸,有問題請給我留言肌割。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卧蜓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子把敞,更是在濱河造成了極大的恐慌烦却,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件先巴,死亡現(xiàn)場離奇詭異其爵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)伸蚯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門摩渺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剂邮,你說我怎么就攤上這事摇幻。” “怎么了挥萌?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵绰姻,是天一觀的道長。 經(jīng)常有香客問我引瀑,道長狂芋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任憨栽,我火速辦了婚禮帜矾,結(jié)果婚禮上翼虫,老公的妹妹穿的比我還像新娘。我一直安慰自己屡萤,他們只是感情好珍剑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著死陆,像睡著了一般招拙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上措译,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天别凤,我揣著相機(jī)與錄音,去河邊找鬼瞳遍。 笑死闻妓,一個(gè)胖子當(dāng)著我的面吹牛菌羽,可吹牛的內(nèi)容都是我干的掠械。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼注祖,長吁一口氣:“原來是場噩夢啊……” “哼猾蒂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起是晨,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肚菠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后罩缴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚊逢,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年箫章,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烙荷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡檬寂,死狀恐怖终抽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桶至,我是刑警寧澤昼伴,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站镣屹,受9級特大地震影響圃郊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜女蜈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一描沟、第九天 我趴在偏房一處隱蔽的房頂上張望飒泻。 院中可真熱鬧,春花似錦吏廉、人聲如沸泞遗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽史辙。三九已至,卻和暖如春佩伤,著一層夾襖步出監(jiān)牢的瞬間聊倔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工生巡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耙蔑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓孤荣,卻偏偏與公主長得像甸陌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子盐股,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

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

  • WWDC 16 中钱豁,Apple 表示將繼續(xù)在 iOS 10 和 macOS 10.12 里收緊對普通 HTTP 的...
    小如99閱讀 6,177評論 0 25
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)疯汁,斷路器牲尺,智...
    卡卡羅2017閱讀 134,661評論 18 139
  • 服務(wù)器https配置 配置https操作說明文檔 1、查看服務(wù)器環(huán)境配置(tomcat和apache合并使用) 2...
    南京楊小兵閱讀 8,843評論 0 9
  • 一幌蚊、安裝 1谤碳、去官網(wǎng)http://nginx.org/en/docs/windows.html下載windows的...
    milletmi閱讀 5,442評論 0 2
  • 國慶節(jié)基本沒有外出,今天上午陪娃娃去外面買欠他的生日禮物溢豆,才走了不到兩千步蜒简。 每天很準(zhǔn)時(shí)的事情就是8點(diǎn)左右的散步,...
    小丫屠閱讀 500評論 0 0