億萬(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 www.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一区二区三区在线观看| 成人18在线观看| 亚洲欧美综合乱码精品成人网| 久久精品国产成人| 成人艳情一二三区| 国产成人A亚洲精V品无码| 亚洲国产成人手机在线电影bd| 欧洲成人爽视频在线观看| 国产成人精品综合在线观看| 青青草视频成人| 午夜亚洲国产成人不卡在线| 成人性生交大片免费看午夜a| 国产成人一区二区三区| 草莓视频成人app下载| 国产成人精品一区二区三区免费 | 国产成人无码av在线播放不卡 | 久久99国产精品成人| 国产成人片无码视频在线观看| 欧美成人777| 亚洲av无码成人精品区狼人影院| 成人免费草草视频| 99久久亚洲综合精品成人网 | 国产成人精品一区二区三区无码 | 久久亚洲色www成人欧美| 国产成人免费在线| 国产成人精品一区二区三区免费| 成人欧美日韩高清不卡| 猫咪AV成人永久网站在线观看| 久久婷婷成人综合色| 亚洲欧美成人完整版在线| 国产成人精品久久综合| 成人3d动漫网址在线观看| 成人在线免费观看| 成人免费视频69| 成人在线免费看片| 国产精品成人网| 国产成人精品免费视频大全可播放的 | 国产成人三级视频在线观看播放| 国产成人精品午夜在线播放|