亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

詳解Nginx + Tomcat HTTPS/SSL 配置

發(fā)布時間:  2012/5/18 15:36:46
1. 申請 SSL 證書

  你可以從很多網(wǎng)站購買到SSL證書,我經(jīng)常使用的是 GeoTrust 。證書都是收費的(據(jù)說有免費的,沒試過),價格有貴的有便宜的。它們的區(qū)別是發(fā)行證書的機構(gòu)不同,貴的證書機構(gòu)更權(quán)威,證書被瀏覽器否決的幾率更小。正規(guī)運營的網(wǎng)站建議購買好一點的證書,免了麻煩,也貴不了多少。

  1.1 生成 CSR 文件

  申請證書的時候,證書的發(fā)行機構(gòu)會要求你提供一個CSR(Certificate Signing Request)文件,這個文件包含了發(fā)行機構(gòu)需要的所有信息。在生成CSR之前,我們必須先創(chuàng)建密鑰對:

$JAVA_HOME/bin/keytool -genkey -alias <your_alias_name> -keyalg RSA -keystore <your_keystore_filename> -keysize 2048

  這里我們使用的是RSA非對稱算法,2048位的密鑰(好的證書機構(gòu)強制2048位)。可以是網(wǎng)站名,比如“oschina”,同理可以是oschina.keystore。

  這個命令會讓你輸入私鑰所有者的信息,也就是你的網(wǎng)站的信息,這里只有一個字段是關(guān)鍵的“Common Name(CN)”,這個字段應(yīng)該是你的網(wǎng)站域名,例如“www.oschina.net”,別的字段例如國家地區(qū)什么的你看著填就行了。使用keytool工具的話,它提示輸入“first and last name”就是讓你輸入“Common Name”。在你填完信息以后,它會讓你設(shè)置keystore和密鑰的訪問密碼,你輸入就行了,建議使用相同的密碼。如果不輸入的話,默認密碼是“changeit”。

  下面來生成CSR文件:

$JAVA_HOME/bin/keytool -certreq -keyalg RSA -alias <your_alias_name> -file certreq.csr -keystore <your_keystore_filename>

  這里 和上面一步是一致的,我這里輸入 oschina ,輸入 oschina.keystore。這一步會問你要keystore密碼,就是你上一步設(shè)置的密碼。生成的“certreq.csr”是一個文本文件,你打開應(yīng)該看到類似如下內(nèi)容:

  -----BEGIN NEW CERTIFICATE REQUEST-----

  MIICvzCCAacCAQAwejELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMI

  U2hlbnpoZW4xFDASBgNVBAoTC09TQ2hpbmEuTkVUMRQwEgYDVQQLEwtPU0NoaW5hLk5FVDEYMBYG

  A1UEAxMPd3d3Lm9zY2hpbmEubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnyZ3

  8SXC6FmggtMtGBMCW/L88qd2DXjeryQExyUfy30VU4ROYcPnLNZXtwtE+poOf7AdqrQvrYBNJsls

  xAmlKEKN7t1ATq3vYSaygx74Ixh4lsYQhJA03sZlcIe8N1EoSYwvch37ksQfhXC/zcZ9ltT9Pk67

  dZTVoNPwI92bxH1VpCwnpNpygT1v8YSCQM6mIrBkWeNuWolhYQmKSRgOM9gV8hd06zBd6mNBGdxB

  ktZ6KlZQp8i+A4hevcRuo9ebNLIhfERDghgos+zbaq1d2whgWegdv/mLnudLHjyyqcEBwk87rp7n

  zFh2C220JmDMXAMGsz0QeA60wpRC6492UwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEBAGfLBzJt

  +CFJ0v4LzttWHNMEpj5rvtoEBr2QYtB0op2y27mp0qwqCfCj0wv3Rw8xZzh6oPKx0NB2tnWqcqyN

  XmVW4nl3SLd9bdY3I7/wdQkriCd6sBgn6Voh8mJOGKKtNZADQ3AfqUD1ge39bL+v7H0EdwtOfmCr

  tAn35+qIIXH3SWS2R+G5sqa76GgjSRwkN8awzrbZJbA/hRPi5wwL+RV3/NFWfFmr4hpsuWHos7ly

  5iFJpQqWVodpq9mxaaugzKvv0HG+A8ip0DG+vB8SnUgBMnAMM8UP1P2ozgNG0Twncq+uIAyz0Uw9

  IzQHiWhtGpFAN9RO0xPl4EnYW6A+TM4=

  -----END NEW CERTIFICATE REQUEST-----

  你把CSR的內(nèi)容提供給證書發(fā)行機構(gòu)就行了。

  1.2 提交認證請求

  在你提交證書簽名請求以后,證書發(fā)行機構(gòu)會讓你提供一個管理員郵箱來驗證你的請求。例如我是給 oschina.net 請求簽名,它就要我提供 admin@oschina.net 或者 webmaster@oschina.net 來驗證這個請求的確是擁有 oschina.net 域名的人發(fā)起的。收到證書發(fā)行機構(gòu)的驗證郵件后,你去確認,然后付款就會收到簽名后的證書(實時的,不需要等待):

  -----BEGIN CERTIFICATE-----

  MIIFBDCCA+ygAwIBAgIDA7WjMA0GCSqGSIb3DQEBBQUAMGExCzAJBgNVBAYTAlVT

  MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRh

  dGVkIFNTTDEbMBkGA1UEAxMSR2VvVHJ1c3QgRFYgU1NMIENBMB4XDTEyMDIyNjA0

  NTQyMVoXDTE0MDIyNzExMDQwMFowge0xKTAnBgNVBAUTIGxEMEdjSW1OSlhyQTZY

  YXUtU055R1prTUtXdUdQVDFkMQswCQYDVQQGEwJDTjEYMBYGA1UEChMPd3d3Lm9z

  Y2hpbmEubmV0MRMwEQYDVQQLEwpHVDg3NjQ4MDE5MTEwLwYDVQQLEyhTZWUgd3d3

  Lmdlb3RydXN0LmNvbS9yZXNvdXJjZXMvY3BzIChjKTEyMTcwNQYDVQQLEy5Eb21h

  aW4gQ29udHJvbCBWYWxpZGF0ZWQgLSBRdWlja1NTTChSKSBQcmVtaXVtMRgwFgYD

  VQQDEw93d3cub3NjaGluYS5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK

  AoIBAQCfJnfxJcLoWaCC0y0YEwJb8vzyp3YNeN6vJATHJR/LfRVThE5hw+cs1le3

  C0T6mg5/sB2qtC+tgE0myWzECaUoQo3u3UBOre9hJrKDHvgjGHiWxhCEkDTexmVw

  h7w3UShJjC9yHfuSxB+FcL/Nxn2W1P0+Trt1lNWg0/Aj3ZvEfVWkLCek2nKBPW/x

  hIJAzqYisGRZ425aiWFhCYpJGA4z2BXyF3TrMF3qY0EZ3EGS1noqVlCnyL4DiF69

  xG6j15s0siF8REOCGCiz7NtqrV3bCGBZ6B2/+Yue50sePLKpwQHCTzuunufMWHYL

  bbQmYMxcAwazPRB4DrTClELrj3ZTAgMBAAGjggE2MIIBMjAfBgNVHSMEGDAWgBSM

  9NmTCke8AKBKzkt1bqC2sLJ+/DAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYI

  KwYBBQUHAwEGCCsGAQUFBwMCMCcGA1UdEQQgMB6CD3d3dy5vc2NoaW5hLm5ldIIL

  b3NjaGluYS5uZXQwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2d0c3NsZHYtY3Js

  Lmdlb3RydXN0LmNvbS9jcmxzL2d0c3NsZHYuY3JsMB0GA1UdDgQWBBSMnwGchSF9

  4rpwjGM0R5TdD/OU3zAMBgNVHRMBAf8EAjAAMEcGCCsGAQUFBwEBBDswOTA3Bggr

  BgEFBQcwAoYraHR0cDovL2d0c3NsZHYtYWlhLmdlb3RydXN0LmNvbS9ndHNzbGR2

  LmNydDANBgkqhkiG9w0BAQUFAAOCAQEAYtzSVIU/O43qyL4mBFv8DSwoLfi5kHIz

  35sBVHM1Z3LW8tnIyscPewYZdy6pszBsm4AtJ0C+fdCM6Ai4GnMdIacao18OIcXS

  n2ZiYVrZAs/GCzHRpCpu3VfFTogBiuTS+/Sm87KD8o1kHCxGxNDftfPorq4K5B+0

  sIWhxU2gErog1vkGqzuO5CiupMIIp6swqGR0rUnh7XH+WkfjamnU9I8Yqz//QENT

  cIaUI/2E2btqCvK4vgtsvhzYHLhmcGljiu0PEeCtIBa4CZSiiMk6E9P7tb/+l3o4

  CS9dHYutNG1LqN3FNx34EYBYykGOz2N79L3BIUwIXa7v7QoO+T+c6w==

  -----END CERTIFICATE-----

  這就是你的網(wǎng)站,經(jīng)過權(quán)威機構(gòu)簽名的證書。當用戶通過HTTPS訪問你的網(wǎng)站的時候,瀏覽器會驗證這個證書。

  1.3 下載證書

  證書分很多種格式,例如X.509(.crt文件)、PKCS #7(.p7s文件)等等。不同的網(wǎng)站服務(wù)器可能要求不同格式的證書。很多時候,給我們的證書簽名的是二級證書機構(gòu),它上面還有根證書機構(gòu)。所以你在購買簽名過的證書以后,它還會給你一個它自己的證書叫做“Intermediate CA(中間證書)”,格式和你自己的證書是一樣的。在部署證書的時候你需要同時部署你自己的證書還有中間證書,這就叫做Certificate Chain。好的證書發(fā)行機構(gòu)會提供多種證書供你選擇下載,建議下載同時下載X.509還有 PKCS #7兩種格式。不要忘記下載 X.509格式的中間證書。PKCS #7格式的不要是因為這個格式自帶了各種中間證書。

  2. 部署證書到Tomcat

  Tomcat要求的是包含簽名過證書的keystore文件和keystore密碼。所以我們要先把證書導(dǎo)入keystore

  2.1 導(dǎo)入證書到KeyStore

$JAVA_HOME/bin/keytool -import -alias oschina -trustcacerts -file oschina.p7s  -keystore oschina.keystore

  上面的命令中 alias “oschina” 和之前申請證書的時候輸入的 alias 要一致。

  2.2 修改Tomcat配置

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
        disableUploadTimeout="true" enableLookups="false" maxThreads="25"
        port="8443" keystoreFile="/oschina/webapp/oschina.keystore" keystorePass="xxxxxxx"
        protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
        secure="true" sslProtocol="TLS" />

  3. 部署證書到Nginx

  Nginx和Tomcat不一樣,它要求的是證書文件 .crt 和私鑰 .key 。遺憾的是,我們的私鑰在keystore里面,而JDK自帶的keytool并不提供私鑰的導(dǎo)出功能,所以我們得借助第三方工具來導(dǎo)出私鑰。

  3.1 導(dǎo)出私鑰(key)

  有一個開源的私鑰導(dǎo)出工具叫做 java-exportpriv 。它是一個簡單的java程序,你下載以后參考它的說明,編譯,然后運行即可,非常簡單,我就不多羅嗦了。

  3.2 創(chuàng)建certificate chain

  和Apache不一樣,Nginx沒有Certificat Chain這個參數(shù),所以你要把你的證書和中間證書合并。合并證書很簡單,創(chuàng)建一個先的文件 oschina-chain.crt,內(nèi)容如下:

  -----BEGIN CERTIFICATE-----

  這里是你證書的內(nèi)容

  -----END CERTIFICATE-----

  -----BEGIN CERTIFICATE-----

  這里是中間證書的內(nèi)容

  -----END CERTIFICATE-----

  3.3 修改Nginx配置文件 

server {
        listen       443 ssl;
        server_name  localhost;
        ssl                  on;
        ssl_certificate      /oschina/webapp/oschina-chain.crt;
        ssl_certificate_key  /oschina/webapp/oschina.key;

    location / {
            include proxy.conf;
            proxy_pass   https://61.145.122.155:443;
        }

    }

  4. 驗證證書是否安裝正確

  首先當然是自己用HTTPS的方式訪問自己的網(wǎng)站,看看瀏覽器是否報錯或者報警,記得要把各種瀏覽器都試一遍。然后用 在線工具來測試你的網(wǎng)站HTTPS的配置是否正確,如果都測試通過,那么就大功搞成啦!


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線