億萬(wàn)聯(lián)合 — 專(zhuān)業(yè)網(wǎng)站建設(shè)服務(wù)商 17786980340
          您的位置:首頁(yè) > 資訊 > 網(wǎng)絡(luò)學(xué)堂

          1個(gè)服務(wù)器IP多個(gè)SSL證書(shū)(https多網(wǎng)站)的Apache設(shè)置辦法

          發(fā)布時(shí)間:2018年08月23日作者:波哥 瀏覽:5402

          可能出現(xiàn)的情況:

          · 老式的SSL證書(shū)是一個(gè)證書(shū)一個(gè)站點(diǎn)一個(gè)IP的一一對(duì)應(yīng),但后來(lái)有了改進(jìn);

          · 可以配置為一臺(tái)服務(wù)器多個(gè)IP,分別對(duì)應(yīng)不同的站點(diǎn)、不同的證書(shū);

          · 還可以配置為一臺(tái)服務(wù)器一個(gè)IP,多個(gè)端口號(hào)對(duì)應(yīng)不同的站點(diǎn)、不同的證書(shū);

          · 后來(lái)出現(xiàn)SNI(Server Name Indication服務(wù)器名稱(chēng)指示)技術(shù),讓https與http一樣實(shí)現(xiàn)一臺(tái)服務(wù)器多個(gè)虛擬站點(diǎn),每個(gè)站點(diǎn)都可以對(duì)應(yīng)不同的證書(shū),無(wú)需多個(gè)IP、無(wú)需多個(gè)端口(全部都用https標(biāo)準(zhǔn)的端口號(hào)443),多個(gè)域名、泛域名都支持。

          設(shè)置過(guò)程

          · 首先SSL證書(shū)提供商,根據(jù)自己的需要及預(yù)算選擇,如果自己的站點(diǎn)多,最好是選擇支持多域名、通配符的證書(shū),例如StartCom(link is external)的EV、OV、IV認(rèn)證支持的證書(shū)(DV認(rèn)證不支持通配符);

          · 購(gòu)買(mǎi)需要的證書(shū),這個(gè)過(guò)程中需要上傳或者粘貼CSR(PEM格式),這個(gè)CSR可以用startcomtool.exe來(lái)生成(同時(shí)保存Private Key文件startssl.key和CSR文件startssl.csr到本機(jī)),也可以在Linux下運(yùn)行openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr來(lái)生成key和csr;

          · 下載生成的證書(shū)壓縮包文件example.com.zip,解壓后有ApacheServer.zip、IISServer.zip、NginxServer.zip、OtherServer.zip四個(gè)壓縮文件,再解壓其中的ApacheServer.zip得到兩個(gè)證書(shū)文件1_root_bundle.crt、2_example.com.crt;

          · 上傳startssl.key和startssl.csr兩個(gè)文件以及兩個(gè)證書(shū)文件1_root_bundle.crt、2_example.com.crt到apache/conf目錄下,將startssl.csr加到2_example.com.crt文件后面形成一個(gè)新的文件startssl.crt;

          · 修改httpd.conf或者包含的extra/httpd-ssl.conf文件,在ssl站點(diǎn)中設(shè)置key為上傳的startssl.key,crt為合并的startssl.crt,證書(shū)鏈crt為1_root_bundle.crt(每個(gè)證書(shū)的這三個(gè)文件內(nèi)容都不一樣,即使文件名一樣);

          · 如果需要設(shè)置多個(gè)SSL站點(diǎn),在Apache 2.2以上版本中是開(kāi)啟SSL模塊后是直接支持SNI的,添加NameVirtualHost *:443和SSLStrictSNIVHostCheck off兩句后,就可以像http虛擬站點(diǎn)一樣設(shè)置多個(gè)https虛擬站點(diǎn);

          · 多個(gè)https虛擬站點(diǎn)可以分別指向多個(gè)不同的證書(shū)文件,其中第一個(gè)默認(rèn)https站點(diǎn)是在后續(xù)https站點(diǎn)配置找不到的時(shí)候自動(dòng)使用的默認(rèn)配置;

          · https虛擬站點(diǎn)與http虛擬站點(diǎn)配置一樣,可以使用ServerAlias來(lái)將多個(gè)子域名指向同一個(gè)目錄、采用相同的SSL證書(shū);

          · 重啟apache,上面修改的配置就可以生效,再用瀏覽器檢查是否有問(wèn)題,特別是查看一下安全證書(shū)是否與申請(qǐng)的一致,如果提示網(wǎng)頁(yè)中有部分非安全內(nèi)容,則要檢查嵌入的非安全部分內(nèi)容,改為安全的內(nèi)容;

          · 沒(méi)有問(wèn)題了可以修改站點(diǎn)中的鏈接,讓http都改為https,如果是內(nèi)部鏈接則與http或者h(yuǎn)ttps無(wú)關(guān),可以不修改,如果是寫(xiě)死的http,可以改為https或者內(nèi)部鏈接,還可以改為//example.com這樣的URL形式;

          · 最后修改apache配置文件或者.htaccess,讓以前的http訪問(wèn)全部301跳轉(zhuǎn)到https對(duì)應(yīng)的網(wǎng)頁(yè)。

          代碼示范

          下面是一個(gè)修改httpd-ssl.conf文件的例子:

          Listen 443
          #Listen 8081
          NameVirtualHost *:443        #這一條在apache2.4以后就不需要了
          SSLStrictSNIVHostCheck off
          <VirtualHost _default_:443>
          DocumentRoot "/usr/local/apache/htdocs/easway.net"
          ServerName m.show-cn.cn
          ServerAlias easway.net
          ServerAdmin you@easway.net
          SSLEngine on
          SSLProtocol all -SSLv2
          SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5    #根據(jù)阿里云SSL證書(shū)安裝示例中填寫(xiě)
          SSLCertificateFile "/usr/local/apache/conf/server.crt"
          SSLCertificateKeyFile "/usr/local/apache/conf/server.key"
          SSLCertificateChainFile "/usr/local/apache/conf/1_root_bundle.crt"
          <FilesMatch "\.(cgi|shtml|phtml|php)$">
              SSLOptions +StdEnvVars
          </FilesMatch>
          <Directory "/usr/local/apache/htdocs/easway">
              AllowOverride All
              SSLOptions +StdEnvVars
          </Directory>
          </VirtualHost>
          
          <VirtualHost *:443>
          DocumentRoot "/usr/local/apache/htdocs/example2.com"
          ServerName example2.com
          ServerAlias subdomain.example2.com
          SSLEngine on
          SSLProtocol all -SSLv2
          SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
          SSLCertificateFile "/usr/local/apache/conf/server2.crt"
          SSLCertificateKeyFile "/usr/local/apache/conf/server2.key"
          SSLCertificateChainFile "/usr/local/apache/conf/1_root_bundle2.crt"
          <FilesMatch "\.(cgi|shtml|phtml|php)$">
              SSLOptions +StdEnvVars
          </FilesMatch>
          <Directory "/usr/local/apache/htdocs/example2.com">
              AllowOverride All
              SSLOptions +StdEnvVars
          </Directory>
          </VirtualHost>

          修改.htaccess文件實(shí)現(xiàn)301永久重定向的例子:

          RewriteCond %{HTTPS} off
          RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]




          490
          分類(lèi):

          您還沒(méi)有登錄,請(qǐng)先登錄

          4008-4008-80

          027-87827780

          請(qǐng)點(diǎn)擊QQ圖標(biāo)咨詢(xún)客服;為避免丟失消息,請(qǐng)?zhí)砑観Q好友
          提交需求
          主站蜘蛛池模板: 天天影院成人免费观看| 国产成人免费高清激情视频| 成人午夜性影院视频| 欧美亚洲国产成人综合在线| 成人福利免费视频| 国产成人亚洲精品大帝| 亚洲国产成人在线视频| 成人区人妻精品一区二区不卡 | 噜噜噜亚洲色成人网站| 亚洲AV无码成人专区| 2022国产成人福利精品视频| 成人毛片免费观看视频在线| 国产成人女人视频在线观看| 韩国成人在线视频| 成人a在线观看| 国产成人18黄网站麻豆| 无码国产成人av在线播放| 国产69久久精品成人看| 成人禁在线观看| 久久久久成人精品| 国产成人一区二区三区精品久久| 4444亚洲国产成人精品| 久久国产成人精品国产成人亚洲 | 成人网视频免费播放| 91啦中文成人| 麻豆国产成人AV在线| 国产精品成人久久久久久久| 国产成人精品实拍在线| 久久久www成人免费精品| 国产成人精品影院狼色在线| 欧美色成人tv在线播放| 精品人妻无码一区二区色欲产成人| 成人午夜性a级毛片免费| 777精品成人影院| 久久亚洲AV成人无码| 国产成人一区二区三区在线观看| 成人欧美一区二区三区黑人3p| 香蕉视频成人在线观看| 欧美成人免费网站| 成人欧美日韩一区二区三区| 成人性生活免费视频|