亚洲国产AV一区二区三区久久_乱人妻中文字幕视频_91麻豆精品国产一级_精品国产欧美另类一区

您的當(dāng)前位置: 首頁(yè)>>監(jiān)利商學(xué)院>>監(jiān)利SEO優(yōu)化

監(jiān)利教你如何配置Apache的ssl安全鏈接

瀏覽量(62808) 時(shí)間:2020-09-07

 第一步:生成ssl certficate文件 首先當(dāng)然是正常安裝apache2了,然后:

HTTPS改造

    sudo apache2-ssl-certificate

    生成一個(gè)1024位的RSA私鑰,并保存為/etc/apache2/ssl/apache.pem,如果你已經(jīng)有了CA證書(shū),應(yīng)該也是可以拿過(guò)來(lái)直接使用,或者用來(lái)生成這個(gè)私鑰的(這應(yīng)該屬于另外一個(gè)話題了,我也沒(méi)有用過(guò))。

    apache2-ssl-certificate執(zhí)行過(guò)程中要回答一些問(wèn)題,如下,注意如果[]里已經(jīng)給出了默認(rèn)值,而你又想把這項(xiàng)置空的話,可以輸入英文句號(hào)“.”:

    Country Name (2 letter code) [GB]:US State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []: Organization Name (eg, company; recommended) []:. Organizational Unit Name (eg, section) []:. server name (eg. ssl.domain.tld; required!!!) []:localhost Email Address []:fwolf@mail.com

    一般來(lái)說(shuō),server name和實(shí)際的網(wǎng)站域名還是保持一致比較方便。

    第二步:?jiǎn)⒂胹sl mod

    sudo a2enmod ssl

    或者

    :/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/ssl.conf ssl.conf :/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/ssl.load ssl.load

    第三步:添加監(jiān)聽(tīng)端口,配置虛擬主機(jī) 添加端口:在/etc/apache2/ports.conf中增加一行“Listen 443”,顯然,如果你想讓默認(rèn)的80端口就使用ssl的話,就可以省略這一步了,并在后面的配置中略微調(diào)整。

    在apache虛擬主機(jī)的配置文件conf中,段,添加SSL的定義,比如:

    <VirtualHost *:443> ServerAdmin Fwolf ServerName www.fwolf.com SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem DirectoryIndex index.php index.html index.html.var

    然后重啟apache,就能夠使用https訪問(wèn)網(wǎng)站了。

    如果想配置成80端口默認(rèn)就使用https,首先不需要在ports.conf中添加443端口的監(jiān)聽(tīng)了,其次是在配置VirtualHost的時(shí)候也不用帶上:443了,但即使這樣,配置完成后使用http://www.seokuaipai.cn訪問(wèn)配置好的網(wǎng)站時(shí),還是會(huì)提示:

    Bad Request Your browser sent a request that this server could not understand. Reason: You’re speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. Hint: https://www.fwolf.com/

    這是由于使用http協(xié)議去訪問(wèn)一個(gè)https的端口造成的,最簡(jiǎn)單的解決方法是使用https://www.seokuaipai.cn:80/來(lái)替代,不過(guò),通過(guò)修改apache配置,把到80端口的http訪問(wèn)重定向到443端口的https訪問(wèn)效果會(huì)更好一些,就像下面的配置:

    NameVirtualHost *:80 <VirtualHost *:80> Redirect permanent / https://localhost/ </virtualhost> NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin Fwolf ServerName www.fwolf.com </virtualhost> SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem …

    這樣所有http訪問(wèn)就自動(dòng)被重定向到https訪問(wèn)上了,不過(guò)如果你只能在外網(wǎng)開(kāi)一個(gè)端口的話就比較麻煩了,同時(shí)https也只能包含一個(gè)站點(diǎn)(無(wú)法通過(guò)ServerName辨識(shí)多個(gè)站點(diǎn))。

    如果能夠把http和https協(xié)議同時(shí)綁定到一個(gè)端口上,用戶(hù)訪問(wèn)的時(shí)候似乎就更方便了,不過(guò)很多地方都說(shuō)這是不可能的,加密與明文協(xié)議不可能同時(shí)存在于一個(gè)端口上,這里有個(gè)討論給出了一種方案,雖然經(jīng)過(guò)我的實(shí)驗(yàn)并不成功,還是把代碼貼出來(lái),供有興趣的朋友繼續(xù)研究。

    <IfDefine !SSL> RewriteEngine on RewriteCond %{HTTPS} != on RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R=permanent] </IfDefine>

    一個(gè)小問(wèn)題:我生成的pem文件怎么有效期都只有一個(gè)月?難道這是默認(rèn)的?pem文件到期之后會(huì)發(fā)生什么事情呢?

    update @ 20070126

    默認(rèn)生成的pem文件確實(shí)只有一個(gè)月的有效期,過(guò)期之后倒是還能使用,只是在客戶(hù)端會(huì)有一個(gè)提示證書(shū)無(wú)效的確認(rèn),所以在生成證書(shū)的時(shí)候,記得用-day x參數(shù)指定有效期限,比如十年什么的。

    sudo apache2-ssl-certificate –force -days 3650

    (當(dāng)pem文件已經(jīng)存在的時(shí)候,需要使用–force參數(shù)指定覆蓋)

    參考: Need Apache2 SSL howto Apache2 SSL You’re speaking plain HTTP to an SSL-enabled server port. – HELP PLEASE !

    Update @ 2007-07-31

    Ubuntu 7.04 feisty中沒(méi)有apache2-ssl-cerfiticate這個(gè)命令,需要自己下載一個(gè)包,然后解壓,把里面的ssleay.cnf拷貝到/usr/share/apache2/,然后就可以執(zhí)行解壓的另外一個(gè)可執(zhí)行文件apache2-ssl-certificate來(lái)生成證書(shū)了。


以上文章來(lái)源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!

置頂熱文