解壓后的文件夾中有2個文件:
證書文件:以.pem為后綴或文件類型。
密鑰文件:以.key為后綴或文件類型。
阿里雲部署SSL證書
http://www.cnblogs.com/sslwork/p/5984167.html
查找中間證書
服務器證書和中間證書連接
首先我們需要將中間證書Chain.cer加入到服務器證書Server.cer文件中,請將Chain.cer中的所有內容復制,並粘貼到Server.cer,順序是: 第一段,服務器證書;第二段,中間證書,如下:
-----BEGIN CERTIFICATE----- MIIEsTCCA5mgAwIBAgIDBfoqMA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVT ………Server Certificate………… T0hUGo/wiwTBUafyk1A+LlSUE+dYqzbHYV9Q4d83UIzz9vXO4wmSRgV0udjGN2GR W7oiGmI= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEsTCCA5mgAwIBAgIDBfoqMA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVT ………Chain Certificate………… T0hUGo/wiwTBUafyk1A+LlSUE+dYqzbHYV9Q4d83UIzz9vXO4wmSRgV0udjGN2GR W7oiGmI= -----END CERTIFICATE-----
將上一步修改好的Server.cer保存一下,准備后面和KEY一起上傳。
證書上傳阿里雲
點擊“負載均衡”-“證書管理”-“創建證書”
“證書名稱”請設定一個好記的標識。
“證書類型”選擇“服務器證書”。
“證書內容”請將剛才保存的Server.cer(包含了中間證書),全部復制並粘貼。
“私鑰”請將剛才Server.key,復制並粘貼。
“證書region”請選擇要使用證書的地域。目前如需要在多個地域使用證書,請在多個地域上傳。
部署證書
在“負載均衡”菜單點擊“實例管理”,選擇需要部署證書的實例,點擊“管理”。
選擇“添加監聽”:
“前端協議”選擇“HTTPS”:“443”
“后端協議”可以選擇“443”或者“80”
“服務器證書”選擇剛剛上傳的服務器證書。
點擊“下一步”,完成SSL證書的安裝。
常見問題
為何有些瀏覽器可以識別我的證書,有些瀏覽器卻會報錯?
首先,請確保您已經完成了“服務器證書和中間證書的連接”,如果上傳的服務器證書中沒有中間證書,有些無法自動下載中間證書的系統,就無法識別服務器證書的有效性。
升級 https 記錄
1、去阿里雲購買證書(免費版),並提交審核資料
2、下載證書
3、查看上圖頁面的第三步
文字版: ( 1 ) 使用java jdk將PFX格式證書轉換為JKS格式證書(windows環境注意在%JAVA_HOME%/jdk/bin目錄下執行) keytool -importkeystore -srckeystore 214248563150581.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS 回車后輸入JKS證書密碼和PFX證書密碼,強烈推薦將JKS密碼與PFX證書密碼相同,否則可能會導致Tomcat啟動失敗。
4、在證書目錄下執行阿里雲提供的命令,密碼都填 pfx-password.txt 中的內容(三次),會生成 your-name.jks 文件。
此處我已改名為 any.jks
5、將 any.jks 復制到 spring boot 應用的 resources 目錄下
6、在 application.yml 中配置證書及端口,密碼填寫第四步中的密碼
此配置會使 Undertow 容器監聽 443 端口,那么只有在域名前添加 https:// 才能訪問網站內容,添加 http:// 則不行,所以需要讓 Undertow 容器監聽 80 端口,並將 80 端口的所有請求重定向到 443 端口,即完成 http 到 https 的跳轉。
7、添加 SslConfig.java ,配置 Undertow 監聽 80 端口。(tomcat下,這一步可以不要)
[code]@Configuration public class SslConfig { @Bean public EmbeddedServletContainerFactory servletContainer() { UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory(); undertowFactory.addBuilderCustomizers(new UndertowBuilderCustomizer() { @Override public void customize(Undertow.Builder builder) { builder.addHttpListener(80, "0.0.0.0"); } }); return undertowFactory; } }
[/code]
8、在 Spring Security 中配置 80 端口到 443 端口的映射
至此,重新打包應用,重新發布應用,即完成了 http 到 https 的升級, https 能讓網站更安全,有興趣的試試吧。Any 系列開源說明
http://spring4all.com/article/84
概述
- 什么是SSL證書
通俗的來講SSL和TSL都是屬於網絡傳輸的安全協議,而SSL繼承於TSL,且SSL是一種更為安全的加密協議。
SSL和TSL的體現:
TSL是通過瀏覽器以http://
來訪問,默認端口是80
;
SSL是通過瀏覽器以https://
來訪問,默認端口是443
。
-
為什么要使用SSL
- SSL更加安全
- 在使用微信小程序開發時與后台數據交互必須使用
https
傳輸,即SSL協議
-
SSL如何獲得
-
免費SSL證書有哪些
- 阿里雲
- 騰訊雲
這里列舉兩個並做詳細獲取的方法的描述。
獲取
阿里雲
- 進入阿里雲的“控制台”,在左上角“產品與服務”中點擊“證書服務”,如下圖:
- 點擊右上方的“購買證書”,進入購買頁面,如下圖:
- 選擇“免費型DV SSL”,其他默認,即可看到右邊顯示“0元”,如下圖:
- 點擊“立即購買”->“去支付”(注冊是0元)->“完成支付”,如下圖:
- 點擊“進入控制台”后可以看到“我的訂單”中多了一條最新購買的證書信息,如下圖:
- 點擊“補全”完善信息,在綁定域名處輸入需要綁定的域名,這里只能輸入一個域名,且是公完整並不支持通配符的域名,如下圖:
- 點擊“下一步”完善個人信息,如下圖:
在域名驗證類型處需要選擇DNS
或文件
進行驗證,其目的是驗證該域名是屬於您的,選擇DNS
不需要域名能正常訪問,只需要在域名管理處增加CName
即可;選擇文件
則需要該域名能正常訪問且能在該域名下找到對應的文件。
- 最后選擇“系統生成CSR”創建並提交審核即可。
- 最后一步就是驗證域名,即加
CName
或上傳指定文件到域名服務器下進行驗證,一般CName
一個小時左右,文件
方式幾分鍾即可審核完成 - 審核通過后可以看到
我的訂單
中證書狀態為已簽發
,並在操作列中有下載
鏈接,點擊下載
可以看到下圖:
-
在這里提供了
Nginx
、Apache
、Tomat
、IIS 6
、IIS 7
、IIS 8
、其他
這幾種證書,也就是可以使用這幾種web容器來做https
協議。 -
此時完成了阿里雲的免費證書的申請。
騰訊雲
- 進入騰訊雲管理中心https://console.qcloud.com/
- 選擇左上角“雲產品”->“SSL證書管理”,如下圖:
- 點擊左上方“申請證書”(不是購買證書哦),如下圖:
- 選擇“免費版DVSSL證書”后點擊“確定”,如下圖:
- 填寫申請信息,通用名稱填寫需要綁定的域名,如下圖:
- 選擇域名驗證方式,如下圖:
- 點擊“確定申請”后,出現申請已提交信息,表示提交成功,如下圖:
- 在證書詳情里面可以看到驗證方法的信息(這里選擇的是DNS驗證),如下圖:
- 驗證通過后,在列表頁中可以看到“已頒發”和“下載”字樣,如下圖:
- 此時已完成騰訊雲免費SSL證書的獲取,點擊“下載”即可下載證書到本地。
配置
獲取到了SSL證書后的工作就是使用這些證書進行https訪問。
配置方法可以參考文章:《Nginx中配置https做反向代理 - 知識林》
http://www.zslin.com/web/article/detail/72
在Centos中的Nginx配置https做反向代理跟配置http做反向代理基本一樣,只是多了ssl的相關配置,如果不知道如何在Centos中配置Nginx做反向代理可以參考文章《Centos 中安裝與配置Nginx - 知識林》,如果沒有支持https的SSL證書可以參考文章《阿里雲和騰訊雲免費SSL證書 - 知識林》來獲取免費的SSL證書。
- 在Centos中配置Nginx做https的反向代理
只需要修改之前所描述的*.conf文件即可,具體內容如下:
server {
listen 80;
listen 443;
server_name c.zslin.com;
ssl on;
ssl_certificate /etc/nginx/cert/1_c.zslin.com_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_c.zslin.com.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;
server_name zslin.com www.zslin.com *.zslin.com;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://website:port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http:// $scheme://; #做https跳轉
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
注意:
listen 443
:表示監聽443端口,即以https提交的請求,上面的listen 80
表示同時也監聽以http提交的請求;
ssl on
:表示開啟SSL協議;
ssl_certificate
:指定SSL證書的crt文件路徑(如果是阿里雲的證書則是pem文件);
ssl_certificate_key
:指定SSL證書的key文件路徑;
其他ssl開頭的可以照搬;
proxy_pass
:指定代理的地址,可以是外網地址,也可以是內網地址;
proxy_redirect http:// $scheme://
:表示在程序中有redirect跳轉時,將采用原有傳輸協議方式跳轉,即如果是以https請求,在跳轉后依然是https。
配置完成重啟Nginx即可以https訪問。
- 在Windows中配置Nginx做https的反向代理
在Windows中安裝和配置Nginx其實也比較簡單,進入下載地址:http://nginx.org/en/download.html,點擊最新版下載,如下圖:
下載后將壓縮文件解壓到合適的目錄,可以看到如下圖的目錄結構:
運行nginx.exe
即可,不過這樣運行不是在windows的服務中運行,這樣關閉和重新啟動都很不方便,也不穩定,一般建議是將Nginx做為windows服務來運行。
制作windows服務可以下載winsw
小工具來完成,解壓后可以得到winsw-1.9-bin.exe,可以將該文件移動到nginx安裝目錄,並重命名為服務名稱,如:nginx-server.exe
,創建nginx-server.xml
文件,注意這兩個名稱要一樣,xml文件內容如下:
<?xml version="1.0" encoding="UTF-8" ?> <service> <id>nginx</id> <name>nginx</name> <description>nginx</description> <executable>D:\java\nginx-1.11.8\nginx.exe</executable> <logpath>D:\java\nginx-1.11.8\</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-p D:\java\nginx-1.11.8\</startargument> <stopargument>-p D:\java\nginx-1.11.8\ -s stop</stopargument> </service>
注意:將executable
、logpath
、startargument
、stopargument
這幾個地方的路徑修改為自己nginx的安裝目錄即可。
打開命令提示符窗口進入到nginx-server.exe
所在目錄,鍵入:nginx-server.exe install
即可安裝windows服務,nginx-server.exe uninstall
卸載windows服務。
現在開始配置。
在windows中Nginx的配置文件在:安裝目錄/conf/nginx.conf,在這個配置文件中復制一個server
來做修改,內容如下:
server { listen 443 ssl; server_name c.zslin.com; ssl_certificate 1_c.zslin.com_bundle.crt; ssl_certificate_key 2_c.zslin.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { #root html; #index index.html index.htm; proxy_pass http://localhost:81; proxy_set_header Host $host; proxy_redirect http:// $scheme://; #做https跳轉 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
注意:具體描述跟上面Centos中的一樣。ssl_certificate
和ssl_certificate_key
對應值沒有寫路徑是因為我已經將這兩個文件復制到了conf所在目錄。
nginx-server.exe start
:啟動服務
nginx-server.exe stop
:停止服務
http://www.zslin.com/web/article/detail/73
配置 NGINX 的 HTTPS
有了證書,就可以去配置 Web 服務器去使用這個證書了,不同的 Web 服務器地配置方法都不太一樣。下面用 NGINX 服務器作為演示。我的域名是 ninghao.org,出現這個文字的地方你可以根據自己的實際情況去替換一下。
下載並上傳證書
創建一個存儲證書的目錄:
sudo mkdir -p /etc/nginx/ssl/ninghao.org
把申請並下載下來的證書,上傳到上面創建的目錄的下面。我的證書的實際位置是:
/etc/nginx/ssl/ninghao.org/213985317020706.pem /etc/nginx/ssl/ninghao.org/213985317020706.key
NGINX 配置文件
你的網站可以同時支持 HTTP 與 HTTPS,HTTP 默認的端口號是 80,HTTPS 的默認端口號是 443。也就是如果你的網站要使用 HTTPS,你需要配置網站服務器,讓它監聽 443 端口,就是用戶使用 HTTPS 發出的請求。
下面是一個基本的監聽 443 端口,使用了 SSL 證書的 NGINX 配置文件,創建一個配置文件:
touch /etc/nginx/ssl.ninghao.org.conf
把下面的代碼粘貼進去:
server { listen 443; server_name ninghao.org; ssl on; root /mnt/www/ninghao.org; index index.html; ssl_certificate /etc/nginx/ssl/ninghao.org/213985317020706.pem; ssl_certificate_key /etc/nginx/ssl/ninghao.org/213985317020706.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; }
上面的配置里,ssl_certificate 與 ssl_certificate_key 這兩個指令指定使用了兩個文件,就是你下載的證書,解壓之后看到的那兩個文件,一個是 *.pem,一個是 *.key。你要把這兩個文件上傳到服務器上的某個目錄的下面。
重新加載 NGINX 服務:
sudo service nginx reload
或:
sudo systemctl reload nginx
驗證配置
在瀏覽器上輸入帶 https 的網站地址:https://ninghao.org
如果正確的配置了讓服務器使用 SSL 證書,會在地址欄上顯示一個綠色的小鎖頭圖標。
點開那個小鎖頭,會顯示安全連接,再打開 詳細信息。
提示:
This page is secure (valid HTTPS).
打開 View certificate,會顯示證書的相關信息。
搜索引擎優化
2015 年 5 月 25 日,百度發公告聲明已全面支持 HTTPS 網頁的收錄,使用 HTTPS 的網頁被認為更安全,所以在排名上會被優先。 百度還推薦使用 301 重定向,把網站的 HTTP 重定向到 HTTPS 。
前幾天我讓寧皓網支持 HTTPS,並觀察了搜索量,並未受到影響。所以,至少不用擔心換成 HTTPS 以后,搜索量會下降。不過百度的反應一般都比較慢,需要給他更長的時間。換成 HTTPS 的后兩天,谷歌已經收錄了 HTTPS 版本的首頁,但是百度至今還沒有反應。不管怎么樣,使用 HTTPS 都是遲早要做的事情。
NGINX 配置使用 301 重定向:
server { listen 80; server_name ninghao.org; return 301 https://$host$request_uri; }
上面的配置會讓對 HTTP 網頁的請求,重定向到 HTTPS 版本的網頁上。
http://www.cnblogs.com/lavezhang/p/6277185.html
DV型和OV型證書的區別
DV和OV型證書最大的差別是:DV型證書不包含企業名稱信息;而OV型證書包含企業名稱信息,以下是兩者差別對比表:
DV | OV | |
包含企業名稱信息 | 否 | 是 |
驗證公司名稱合法性 | 否 | 是 |
通過第三方查詢電話驗證 | 否 | 是 |
域名驗證方式 | 管理員郵箱批准 | 查詢whois信息是否一致 |
驗證時間 | 最快10分鍾簽發 | 一般2-3天完成簽發 |
證書可信度 | 低 | 較高 |
DV和OV型證書在用戶查看證書的詳情是,OV型證書會在證書的Subject中顯示域名+單位名稱等信息;DV型證書只會在證書的Subject中顯示域名,如下兩圖:
DV證書 | OV證書 |
OV型和EV型證書的區別
OV型和EV型證書,都包含了企業名稱等信息,但EV證書因為其采用了更加嚴格的認證標准,瀏覽器對EV證書更加“信任”,當瀏覽器訪問到EV證書時,可以在地址欄顯示出公司名稱,並將地址欄變成綠色。
EV證書 | ||
OV證書 | ||
EV證書 | ||
OV證書 | ||
EV證書 | ||
OV證書 | ||
EV證書 | ||
OV證書 | ||
EV證書 | ||
OV證書 |
如何挑選適合我的證書類型
如果您
- 僅需要通過在線加密實現數據安全
- 主要用於電子郵件、IM,CDN加速等
- 用戶內部的OA,CRM,VPN系統
- 還是一個初創公司,業務剛剛起步。
我們建議您可以先購買DV型證書,提高網站安全性和PR值。
如果您
- 面向公眾提供服務
- 有用戶賬戶登錄,在線應用等
- 有多個應用需求,多個域名需要部署
- 公司已經擁有一定的規模
我們建議您購買OV型證書,方便用戶快速識別網站真實性,實現全網SSL。
如果您
- 需要實現在線交易,在線支付功能
- 有高價值的數據保密需求
- 需要防止可能遇到的釣魚網站攻擊
- 屬於大型企業或者金融機構
我們建議您購買EV型證書,提供最高安全性,幫助客戶選擇您的服務。
https://www.myssl.cn
http://www.cnblogs.com/sslwork/p/6193256.html