基于Nginx配置https證書

關(guān)于平臺配置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上配置證書

基于Nginx配置https證書基于Nginx配置https證書

        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ù)信息

基于Nginx配置https證書基于Nginx配置https證書

這里需要注意在proxy_pass配置中, 需要使用https方式

基于Nginx配置https證書

二、iis上配置證書

1、導(dǎo)入證書

打開mmc控制臺,添加證書配置項(xiàng)

基于Nginx配置https證書基于Nginx配置https證書

通過導(dǎo)入對應(yīng)的證書文件, 導(dǎo)入“個(gè)人”,“中級證書頒發(fā)機(jī)構(gòu)”  這2個(gè)節(jié)點(diǎn)都需要導(dǎo)入操作。

基于Nginx配置https證書基于Nginx配置https證書

2、應(yīng)用站點(diǎn)配置證書

在前面的正確導(dǎo)入證書后,配置站點(diǎn)時(shí)選擇https類型后,在SSL證書中,就可以看到導(dǎo)入成功的證書信息

這里需要注意的是證書授權(quán)的域名需要相同,并且對應(yīng)二級域名不要多個(gè)“ . "號出現(xiàn)

這里的配置端口30011,這個(gè)是提供給Nginx配置中,負(fù)載使用的

基于Nginx配置https證書基于Nginx配置https證書

說明:這里的主機(jī)名,可以不配置,在nginx負(fù)載時(shí),可以通過ip和端口找到

三、程序中配置支持https

程序中,相關(guān)的考試,計(jì)時(shí),視頻,登錄相關(guān)地址,根據(jù)當(dāng)上下文中的IsSecureConnection 判斷連接信息

        //

        // 摘要:

        //     獲取一個(gè)值,指示 HTTP 連接是否使用安全套接字(即 HTTPS)。

        //

        // 返回結(jié)果:

        //     如果連接是 SSL 連接,則為 true;否則為 false。

        public bool IsSecureConnection { get; }

基于Nginx配置https證書基于Nginx配置https證書

對應(yīng)的web.config中配置相應(yīng)的節(jié)點(diǎn),這里主要是考慮支持http, https 兩種不同方式支持,在再則會方便測試環(huán)境中存在2種地址不同情況,因?yàn)樽隽?個(gè)節(jié)點(diǎn)的配置,正式使用時(shí),理論上2種類型的域名地址配置的是相同的。

基于Nginx配置https證書(可以根據(jù)類型配置不同的資源地址)

在平臺中,如登錄使用的是cas服務(wù), 平臺側(cè)與cas進(jìn)行驗(yàn)票后,web.config需要進(jìn)行如下配置:

基于Nginx配置https證書

  <!--cas驗(yàn)票需要,允許系統(tǒng)容忍只以CR或LF結(jié)尾的hearder信息-->

  <system.net>

    <settings>

      <httpWebRequest useUnsafeHeaderParsing="true"/>

    </settings>

  </system.net>

在web.config中,增加如上節(jié)點(diǎn)的配置,否則會出現(xiàn)以下異常信息,造成用戶登錄不了

基于Nginx配置https證書

Ticket validation error: DotNetCasClient.Validation.TicketValidationException: CAS server ticket validation threw an Exception ---> System.Net.WebException: 服務(wù)器提交了協(xié)議沖突. Section=ResponseHeader Detail=CR 后面必須是 LF

附加說明:

1、針對使用DotNetCasClient組件時(shí),如果需要看相應(yīng)日志信息,需要對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>

 

以下是平臺的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證書問題,如果沒有配置,有多個(gè)證書時(shí),瀏覽器訪問就會有可能找到不正確的證書,經(jīng)起訪問不正?,F(xiàn)象

基于Nginx配置https證書基于Nginx配置https證書

五、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 ,都會默認(rèn)將請求內(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)存大約可以存儲4000個(gè)session,按例配置20M大約可以存儲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://bm7419.com/article30/igsoso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管靜態(tài)網(wǎng)站、ChatGPT、網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司