一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 詳解Nginx配置SSL證書實現Https訪問

詳解Nginx配置SSL證書實現Https訪問

2019-12-01 13:31富士里 Nginx

這篇文章主要介紹了詳解Nginx配置SSL證書實現Https訪問,具有一定的參考價值,感興趣的小伙伴們可以參考一下

背景

由于項目需求,安全起見,需要將之前的http接口訪問變成https訪問,所以需要配置SSL證書。項目的架構是這樣的:

詳解Nginx配置SSL證書實現Https訪問

基本架構是硬負載(ReadWhere)+ 軟負載(Nginx)+ Tomcat集群,現在的問題是SSl證書要配置在哪里,直接配置在硬負載上?還是分別配置在Nginx和Tomcat上?還是其他的配置方法呢?

首先在硬負載上配置放棄了,然后通過在網上查找資料,發現可以只在Nginx上配置證書,就是說Nginx接入使用Https,而Nginx與Tomcat之間使用Http進行銜接,這樣就游了一個整體思路。

關于SSL證書

關于SSL證書這里簡單進行介紹,也是因為項目需要,進行了簡單的了解。

SSL證書分為大致分為三種,域名級(DV)、企業級(OV)、增強級(EV),安全性以及價格依次增加。根據自己的需求進行選擇,個人使用可以使用DV,便宜;企業用的話一般使用OV,特殊情況下使用EV。下面是幾家云服務商的OV SSL證書的價格對比,Symantec和GeoTrust被選用的比較多,都屬于賽門鐵克旗下。

 

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

 

SSL證書配置

由于Nginx對于SSL證書配置的支持才使得這種實現方式成為了可能,不得不感嘆Nginx的強大。

證書準備

Nginx配置需要.pem/.crt證書 + .key秘鑰,如果您現在擁有的是其他形式的證書,請按照相關說明轉化成要求的證書類型,否則是不能完成證書的配置的。一般購買商家都會有相應的轉換工具。

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

  1. 如果是在linux系統下配置,這就算準備好了;
  2. 如果是在windows系統下,需要將.key秘鑰文件中的密碼去除,否則就會導致配置之后Nginx啟動不起來,這里是一個坑,本人就卡在了這里,具體處理方法也很簡單,在網上下載openssl的windows版本,然后將cmd切換到bin目錄下,執行openssl rsa -in server.key -out server2.key,生成的server2.key就是配置需要的秘鑰文件,但是需要將文件名改成server.key。

修改Nginx配置文件

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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配置文件,具體包含兩個地方:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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監聽端口號。

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

需要增加以上的Value標簽,注意httpsServerPort也需要修改為Nginx監聽端口號。

寫在最后

至此,關于SSL的配置基本上就完成了,啟動Nginx以及Tomcat容器之后,不出意外應該就可以通過Https正常訪問了。另外想說的是,由于本人工作場景是一個硬負載均衡兩臺服務器,所以相同的配置需要在兩臺服務器上分別做一次。本文僅供參考,如對您有所幫助,實乃萬幸,也希望大家多多支持服務器之家。

原文鏈接:http://www.jianshu.com/p/19f05fdd292b?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人lu在线视频 | 2012手机在线中文字幕 | 国产一二在线观看视频网站 | 2020最新韩国理论三级0k | 国产小视频免费看 | 色老板在线 | 日韩免费一级片 | 夫妻性生活影院 | 第一福利在线观看永久视频 | 日韩成人精品 | 亚洲天堂免费 | 国产 日韩 欧美 综合 | 午夜久久久久久亚洲国产精品 | 欧美伊人久久久久久久久影院 | 99久久er这里只有精品17 | 国产精品1 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 青青91| 国产麻豆视频 | 国产精品久久久久影视不卡 | 精品在线一区 | 精品国产成人 | 国产拍拍拍免费专区在线观看 | 538亚洲欧美国产日韩在线精品 | 天天夜夜啦啦啦 | 精彩国产萝视频在线 | 男人免费视频 | 精品久久免费观看 | 欧美三级不卡在线观线看高清 | 天天综合色天天综合 | 精品女同同性视频很黄很色 | 黄网久久| 国产精视频 | 色吧欧美 | 99热er | 九九影院午夜理论片无码 | 99精品国产综合久久久久 | 大桥未久一区二区 | 特级一级全黄毛片免费 | 精品国产精品国产 | 免费观看成年人视频 |