溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2022-04-29 13:57:35 來源:億速云 閱讀:367 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“Nginx如何配置SSL證書實現(xiàn)Https訪問”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Nginx如何配置SSL證書實現(xiàn)Https訪問”吧!

背景

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

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

基本架構是硬負載(readwhere)+ 軟負載(nginx)+ tomcat集群,現(xiàn)在的問題是ssl證書要配置在哪里,直接配置在硬負載上?還是分別配置在nginx和tomcat上?還是其他的配置方法呢?

首先在硬負載上配置放棄了,然后通過在網(wǎng)上查找資料,發(fā)現(xiàn)可以只在nginx上配置證書,就是說nginx接入使用https,而nginx與tomcat之間使用http進行銜接,這樣就游了一個整體思路。

關于ssl證書

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

ssl證書分為大致分為三種,域名級(dv)、企業(yè)級(ov)、增強級(ev),安全性以及價格依次增加。根據(jù)自己的需求進行選擇,個人使用可以使用dv,便宜;企業(yè)用的話一般使用ov,特殊情況下使用ev。

ssl證書配置

由于nginx對于ssl證書配置的支持才使得這種實現(xiàn)方式成為了可能,不得不感嘆nginx的強大。

證書準備

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

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

  1. 如果是在linux系統(tǒng)下配置,這就算準備好了;

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

修改nginx配置文件

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

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配置文件,具體包含兩個地方:

<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標簽,注意httpsserverport也需要修改為nginx監(jiān)聽端口號。

到此,相信大家對“Nginx如何配置SSL證書實現(xiàn)Https訪問”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI