關(guān)于平臺(tái)配置https證書
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),宜州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:宜州等地區(qū)。宜州做網(wǎng)站價(jià)格咨詢:13518219792
準(zhǔn)備內(nèi)容:
1、授權(quán)可以的證書文件
2、Nginx上配置證書
3、后端iis上站點(diǎn)上配置證書
4、程序代碼調(diào)整判斷
一、在Nginx上配置證書
listen 443 ssl;
ssl on;
ssl_certificate /usr/local/nginx/keys/xxx.com.pem;
ssl_certificate_key /usr/local/nginx/keys/xxx.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
server_name xxx.xxx.com;
index index.html;
access_log logs/ssl.lan.xxx.xxx.com access_log;
在Nginx中,配置的負(fù)載后端服務(wù)信息
這里需要注意在proxy_pass配置中, 需要使用https方式
二、iis上配置證書
1、導(dǎo)入證書
打開(kāi)mmc控制臺(tái),添加證書配置項(xiàng)
通過(guò)導(dǎo)入對(duì)應(yīng)的證書文件, 導(dǎo)入“個(gè)人”,“中級(jí)證書頒發(fā)機(jī)構(gòu)” 這2個(gè)節(jié)點(diǎn)都需要導(dǎo)入操作。
2、應(yīng)用站點(diǎn)配置證書
在前面的正確導(dǎo)入證書后,配置站點(diǎn)時(shí)選擇https類型后,在SSL證書中,就可以看到導(dǎo)入成功的證書信息
這里需要注意的是證書授權(quán)的域名需要相同,并且對(duì)應(yīng)二級(jí)域名不要多個(gè)“ . "號(hào)出現(xiàn)
這里的配置端口30011,這個(gè)是提供給Nginx配置中,負(fù)載使用的
說(shuō)明:這里的主機(jī)名,可以不配置,在nginx負(fù)載時(shí),可以通過(guò)ip和端口找到
三、程序中配置支持https
程序中,相關(guān)的考試,計(jì)時(shí),視頻,登錄相關(guān)地址,根據(jù)當(dāng)上下文中的IsSecureConnection 判斷連接信息
//
// 摘要:
// 獲取一個(gè)值,指示 HTTP 連接是否使用安全套接字(即 HTTPS)。
//
// 返回結(jié)果:
// 如果連接是 SSL 連接,則為 true;否則為 false。
public bool IsSecureConnection { get; }
對(duì)應(yīng)的web.config中配置相應(yīng)的節(jié)點(diǎn),這里主要是考慮支持http, https 兩種不同方式支持,在再則會(huì)方便測(cè)試環(huán)境中存在2種地址不同情況,因?yàn)樽隽?個(gè)節(jié)點(diǎn)的配置,正式使用時(shí),理論上2種類型的域名地址配置的是相同的。
(可以根據(jù)類型配置不同的資源地址)
在平臺(tái)中,如登錄使用的是cas服務(wù), 平臺(tái)側(cè)與cas進(jìn)行驗(yàn)票后,web.config需要進(jìn)行如下配置:
<!--cas驗(yàn)票需要,允許系統(tǒng)容忍只以CR或LF結(jié)尾的hearder信息-->
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true"/>
</settings>
</system.net>
在web.config中,增加如上節(jié)點(diǎn)的配置,否則會(huì)出現(xiàn)以下異常信息,造成用戶登錄不了
Ticket validation error: DotNetCasClient.Validation.TicketValidationException: CAS server ticket validation threw an Exception ---> System.Net.WebException: 服務(wù)器提交了協(xié)議沖突. Section=ResponseHeader Detail=CR 后面必須是 LF
附加說(shuō)明:
1、針對(duì)使用DotNetCasClient組件時(shí),如果需要看相應(yīng)日志信息,需要對(duì)web.config增加如下配置
<system.diagnostics>
<trace autoflush="true" useGlobalLock="false"/>
<sharedListeners>
<add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="Logs\DotNetCasClient.Log" traceOutputOptions="DateTime"/>
</sharedListeners>
<sources>
<!-- Provides diagnostic information on module configuration parameters. -->
<source name="DotNetCasClient.Config" switchName="Config" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
<!-- Traces IHttpModule lifecycle events and meaningful operations performed therein. -->
<source name="DotNetCasClient.HttpModule" switchName="HttpModule" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
<!-- Provides protocol message and routing information. -->
<source name="DotNetCasClient.Protocol" switchName="Protocol" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
<!-- Provides details on security operations and notable security conditions. -->
<source name="DotNetCasClient.Security" switchName="Security" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
</sources>
<switches>
<add name="Config" value="Information"/>
<add name="HttpModule" value="Verbose"/>
<add name="Protocol" value="Information"/>
<add name="Security" value="Information"/>
</switches>
</system.diagnostics>
以下是平臺(tái)的nginx配置
server {
listen 443 ssl;
ssl on;
ssl_certificate /usr/local/nginx/keys/xxx.com.pem;
ssl_certificate_key /usr/local/nginx/keys/xxx.com.key;
ssl_session_timeout 5m;
#ssl_protocols SSLv3 TLSv1;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
server_name xxx.xxx.com;
index index.html;
access_log logs/ssl.lan.xxx.xxx.com access_log;
配置永久http重定向https
[dangzheng@db1 extra]$ cat xxx-http-test.conf
server {
listen 80;
server_name xxx.xxx.com;
access_log logs/xxx.xxx.com.access.log access_log;
location / {
rewrite ^(.*) https://xxx.xxx.com/$1 permanent;
}
}
permanent 表示永久重定向
$1 表示域名后帶的參數(shù)信息
配置參考:http://blog.csdn.net/zhanglinjian21/article/details/7631515
配置Nginx 中的 default
解決低版本(xp ie8類似)瀏覽器,只能認(rèn)到1個(gè)https證書問(wèn)題,如果沒(méi)有配置,有多個(gè)證書時(shí),瀏覽器訪問(wèn)就會(huì)有可能找到不正確的證書,經(jīng)起訪問(wèn)不正常現(xiàn)象
五、SSL配置優(yōu)化
1、HSTS
HSTS(HTTP Strict Transport Security)。服務(wù)端返回一個(gè) HSTS 的 http header,瀏覽器獲取到 HSTS 頭部之后,在一段時(shí)間內(nèi),不管用戶輸入 www.baidu.com 還是 http://www.baidu.com ,都會(huì)默認(rèn)將請(qǐng)求內(nèi)部跳轉(zhuǎn)成https://www.baidu.com;
將下述行添加到你的 HTTPS 配置的 server 塊中:
add_header Strict-Transport-Security "max-age=31536000";
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 20m;
參照Nginx的官方文檔1MB內(nèi)存大約可以存儲(chǔ)4000個(gè)session,按例配置20M大約可以存儲(chǔ)80000。根據(jù)需求合理設(shè)置
ssl_prefer_server_ciphers On; #指定服務(wù)器密碼算法在優(yōu)先于客戶端密碼算法時(shí)
既需要https,也需要http,http需要跳轉(zhuǎn)到https
新版本,重新創(chuàng)建新的server配置
server {
listen 80;
server_name www.域名.com;
return 301 https://$server_name$request_uri;(進(jìn)行跳轉(zhuǎn))
}
server {
listen 443 ssl;
server_name www.域名.com;
ssl_certificate /usr/share/nginx/html/zhengshu/XX.XX.crt;(證書)
ssl_certificate_key /usr/share/nginx/html/zhengshu/XX.XX.key;(證書密鑰)
}
新聞名稱:基于Nginx配置https證書
文章網(wǎng)址:http://aaarwkj.com/article30/igsoso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、靜態(tài)網(wǎng)站、ChatGPT、網(wǎng)站導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)