https配置

1. https配置

1.1. 步驟

  1. 升級HTTPS,咱們能夠分爲購買證書、安裝證書、設置跳轉這三個步驟

1.2. 申請證書

證書類型分爲DV、OV、EV這三種,這三種有什麼區別?html

- DV(域名型SSL):我的站點、iOS應用分發站點、登錄等單純https加密需求的連接;
- OV(企業型SSL):企業官網;
- EV(加強型SSL):對安全需求更強的企業官網、電商、互聯網金融網站;

SSL證書的部署類型又分爲了單域名、多域名、通配符等類型,好比使用的是OV通配符證書,也就是一張證書能夠保護 *.baidu.com 下的全部二級子域名nginx

1.3. 安裝證書

根據你Web服務器的不一樣種類通常證書也會分爲多種,請根據本身的實際狀況下載安裝,通常的常見的Web服務器分爲Nginx、Apache、Tomcat、IIS 六、IIS 7/8這幾種web

1.3.1. Nginx

  1. 首先在Nginx的安裝目錄下建立cert目錄,將下載的所有文件拷貝到cert目錄中。
  2. 打開 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,找到「HTTPS server」部分。
  3. 指定證書路徑,爲以下示意並保存:
server {
    listen 443;
    server_name 你網站的域名;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/你的證書文件名.pem;
    ssl_certificate_key  cert/你的證書文件名.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

重啓Nginx,這時候你的站點應該就已經能夠經過https方式訪問了apache

1.3.2. Apache

  1. 在Apache的安裝目錄下建立cert目錄,而且將下載的所有文件拷貝到cert目錄中。
  2. 打開 Apache 安裝目錄下的 conf 目錄中的 httpd.conf 文件,找到如下內容並去掉「#」:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
  1. 打開Apache安裝目錄下的conf/extra/httpd-ssl.conf文件(或conf.d/ssl.conf),在配置文件中找到如下語句並配置
# 添加 SSL 協議支持協議,去掉不安全的協議
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件以下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 證書公鑰配置
SSLCertificateFile cert/public.pem
# 證書私鑰配置
SSLCertificateKeyFile cert/你的證書文件名.key
# 證書鏈配置,若是該屬性開頭有 '#'字符,請刪除掉
SSLCertificateChainFile cert/chain.pem

重啓 Apachetomcat

1.3.3. Tomcat

Tomcat 支持JKS格式證書,但從Tomcat7開始也支持PFX格式證書,兩種格式任選其一安全

  1. 在Tomcat的安裝目錄下建立cert目錄,而且將下載的所有文件拷貝到cert目錄中。
  2. 找到安裝Tomcat目錄下該文件server.xml,找到Connection port="8443" 標籤,並根據證書類型添加以下相應屬性:

若是是PFX證書服務器

keystoreFile="cert/你的證書文件名.pfx"
 
keystoreType="PKCS12"
 
keystorePass="證書密碼"

若是是JKS證書session

keystoreFile="cert/你的證書文件名.jks"
 
keystorePass="證書密碼"

重啓Tomcat測試

其餘不經常使用參考這裏網站

1.4. 設置跳轉

網站這個時候http和https同時都可以訪問。這就須要設置跳轉了,使http請求經過301 redirect到https上去

1.4.1. Nginx

server {
 
        listen 80;
 
        server_name 您的域名;
 
        return 301 https://$server_name$request_uri;
 
}

1.4.2. Apache

新建.htaccess

RewriteEngine On
 
RewriteCond %{SERVER_PORT} 80
 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] 

1.4.3. Tomcat

在conf/web.xml中的前加入

<login-config>
 
       <!-- Authorization setting for SSL -->
 
       <auth-method>CLIENT-CERT</auth-method>
 
       <realm-name>Client Cert Users-only Area</realm-name>
 
</login-config>
 
<security-constraint>
 
       <!-- Authorization setting for SSL -->
 
       <web-resource-collection >
 
              <web-resource-name >SSL</web-resource-name>
 
              <url-pattern>/*</url-pattern>
 
       </web-resource-collection>
 
       <user-data-constraint>
 
              <transport-guarantee>CONFIDENTIAL</transport-guarantee>
 
       </user-data-constraint>
 
</security-constraint>

其餘不經常使用參考這裏

1.5. 實戰阿里雲證書配置

1.5.1. 購買下載

  1. 登陸阿里雲搜索證書服務,選ssl,它提供了個免費證書服務可供我測試使用,實際企業使用應該根據實際狀況買前面幾種吧

  2. 買完以後會提示進入證書控制檯,再點擊申請

  1. 點擊下載

  1. 根據本身服務器選擇下載證書
  2. 我下載的證書是nginx版本,裏面兩個文件以pem和key結尾,按1.3.1方式安裝便可使用

1.5.2. 結果展現

  1. 我設置了堆外端口爲8001對應nginx的433,因爲阿里雲使用80,433端口須要備案,只能這樣改端口

相關文章
相關標籤/搜索