Nginx Tomcat 構(gòu)造https服務(wù)應(yīng)對蘋果要求

最近關(guān)于 蘋果要求所有應(yīng)用到 2016 年底必須使用 HTTPS 出來后,好多服務(wù)端需要改版支持伯襟,不過這并不是什么難題握童,但是對于 好多人認(rèn)為 必須在 Nginx 和 Tomcat 兩邊同時配置 SSL 支持 的看法我十分不贊同姆怪,我認(rèn)為只需要在 nginx端配置證書即可。下面看下demo澡绩。
  看一下圖解

nginx端ssl tomcat端非ssl

還有一個誤解就是必須有域名才可以稽揭,其實(shí)ip也可以 并不需要域名。下面先給出ip的配置方式 再給出域名的配置方式肥卡。

ip方式:

利用openssl生成私鑰和公鑰

  • yum install openssl(安裝openssl)
  • yum install nginx (安裝nginx)
  • nginx -V (查看nginx是否支持了OpenSSL 我的顯示已帶且支持)
Paste_Image.png
  • openssl genrsa -des3 -out ca.key 2048 (制作ca證書)
需要輸入個key 也可以不輸入 若輸入請記牢
  • openssl req -new -x509 -days 3650 -key ca.key -out ca.crt (制作ca證書)
紅線部分 第一個是驗(yàn)證key 第二個server hostname 填寫ip即可
  • nginx 配置
nginx配置
upstream tomcat {
    server localhost:8080 fail_timeout=0;
}
server {
    listen       443 ssl;
    server_name 112.126.90.18; # 客戶端直接用IP來訪問
    #server_name jianzhike.haozhenjia.com; #客戶端通過域名來訪問
    #root         /usr/share/nginx/html;
#
    ssl_certificate /home/soft/ssl/domain/ca.crt;
    ssl_certificate_key /home/soft/ssl/domain/ca.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
#
#    # Load configuration files for the default server block.
#    include /etc/nginx/default.d/*.conf;
#
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_connect_timeout      240;
        proxy_send_timeout         240;
        proxy_read_timeout         240;
        # note, there is not SSL here! plain HTTP is used
        proxy_pass http://tomcat;
    }
#
    error_page 404 /404.html;
        location = /40x.html {
    }
#
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

  • Tomcat 配合的配置
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" 
                proxyPort="443"/>

redirectPort和proxyPort都改成443 和ssl默認(rèn)的端口一致 非常重要

這樣啟動tomcat和nginx即可溪掀。

  • 域名的配置
    域名的配置是一樣的 首先生成證書的時候 serverdomain輸入域名
    1 . openssl genrsa -des3 -out ca.key 2048
輸入key或者空

2 . openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

注意紅線部分是域名
  1. nginx 配置
upstream tomcat {
    server localhost:8080 fail_timeout=0;
}
server {
    listen       443 ssl;
    #server_name 112.126.90.18; # 客戶端直接用IP來訪問
    server_name jianzhike.haozhenjia.com; #客戶端通過域名來訪問
    #root         /usr/share/nginx/html;
#
    ssl_certificate /home/soft/ssl/domain/ca.crt;
    ssl_certificate_key /home/soft/ssl/domain/ca.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
#
#    # Load configuration files for the default server block.
#    include /etc/nginx/default.d/*.conf;
#
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_connect_timeout      240;
        proxy_send_timeout         240;
        proxy_read_timeout         240;
        # note, there is not SSL here! plain HTTP is used
        proxy_pass http://tomcat;
    }
#
    error_page 404 /404.html;
        location = /40x.html {
    }
#
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

server那么填寫域名

4 . Tomcat配置不變

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" 
                proxyPort="443"/>

redirectPort和proxyPort都改成443 和ssl默認(rèn)的端口一致 非常重要

重啟tomcat和nginx即可 瀏覽器訪問的時候 由于是自簽名證書所以需要信任次證書
https域名測試地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市步鉴,隨后出現(xiàn)的幾起案子揪胃,更是在濱河造成了極大的恐慌璃哟,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喊递,死亡現(xiàn)場離奇詭異随闪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骚勘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門铐伴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俏讹,你說我怎么就攤上這事当宴。” “怎么了泽疆?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵户矢,是天一觀的道長。 經(jīng)常有香客問我于微,道長逗嫡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任株依,我火速辦了婚禮驱证,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘恋腕。我一直安慰自己抹锄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布荠藤。 她就那樣靜靜地躺著伙单,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哈肖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天布疼,我揣著相機(jī)與錄音币狠,去河邊找鬼。 笑死漩绵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宝踪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼肴沫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了悲幅?” 一聲冷哼從身側(cè)響起站蝠,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤菱魔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后聚蝶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碘勉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年验靡,在試婚紗的時候發(fā)現(xiàn)自己被綠了胜嗓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钩乍。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖变过,靈堂內(nèi)的尸體忽然破棺而出排作,到底是詐尸還是另有隱情亚情,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布衫生,位于F島的核電站,受9級特大地震影響罪针,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泪酱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一墓阀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斯撮,春花似錦、人聲如沸帕膜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽危纫。三九已至乌庶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瞒大,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工盯滚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酗电,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓背率,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寝姿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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