主頁 > SEO工具 >

[HTTPS改造]教你如何配置Apache的ssl安全鏈接

· 文章編輯:孔宇SEO · 所屬欄目:SEO工具
    第一步:生成ssl certficate文件 首先當然是正常安裝apache2了,然后:
HTTPS改造
    sudo apache2-ssl-certificate
    生成一個1024位的RSA私鑰,并保存為/etc/apache2/ssl/apache.pem,如果你已經有了CA證書,應該也是可以拿過來直接使用,或者用來生成這個私鑰的(這應該屬于另外一個話題了,我也沒有用過)。
    apache2-ssl-certificate執行過程中要回答一些問題,如下,注意如果[]里已經給出了默認值,而你又想把這項置空的話,可以輸入英文句號“.”:
    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
    一般來說,server name和實際的網站域名還是保持一致比較方便。
    第二步:啟用ssl 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
    第三步:添加監聽端口,配置虛擬主機 添加端口:在/etc/apache2/ports.conf中增加一行“Listen 443”,顯然,如果你想讓默認的80端口就使用ssl的話,就可以省略這一步了,并在后面的配置中略微調整。
    在apache虛擬主機的配置文件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訪問網站了。
    如果想配置成80端口默認就使用https,首先不需要在ports.conf中添加443端口的監聽了,其次是在配置VirtualHost的時候也不用帶上:443了,但即使這樣,配置完成后使用http://www.seokuaipai.cn訪問配置好的網站時,還是會提示:
    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協議去訪問一個https的端口造成的,最簡單的解決方法是使用https://www.seokuaipai.cn:80/來替代,不過,通過修改apache配置,把到80端口的http訪問重定向到443端口的https訪問效果會更好一些,就像下面的配置:
    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訪問就自動被重定向到https訪問上了,不過如果你只能在外網開一個端口的話就比較麻煩了,同時https也只能包含一個站點(無法通過ServerName辨識多個站點)。
    如果能夠把http和https協議同時綁定到一個端口上,用戶訪問的時候似乎就更方便了,不過很多地方都說這是不可能的,加密與明文協議不可能同時存在于一個端口上,這里有個討論給出了一種方案,雖然經過我的實驗并不成功,還是把代碼貼出來,供有興趣的朋友繼續研究。
    <IfDefine !SSL> RewriteEngine on RewriteCond %{HTTPS} != on RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R=permanent] </IfDefine>
    一個小問題:我生成的pem文件怎么有效期都只有一個月?難道這是默認的?pem文件到期之后會發生什么事情呢?
    update @ 20070126
    默認生成的pem文件確實只有一個月的有效期,過期之后倒是還能使用,只是在客戶端會有一個提示證書無效的確認,所以在生成證書的時候,記得用-day x參數指定有效期限,比如十年什么的。
    sudo apache2-ssl-certificate –force -days 3650
    (當pem文件已經存在的時候,需要使用–force參數指定覆蓋)
    參考: 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中沒有apache2-ssl-cerfiticate這個命令,需要自己下載一個包,然后解壓,把里面的ssleay.cnf拷貝到/usr/share/apache2/,然后就可以執行解壓的另外一個可執行文件apache2-ssl-certificate來生成證書了。
優化技巧
技能培訓

更多閱讀

一文介紹有機seo如何確保您的網站在搜索引擎結果頁中獲得排名

行業動態 2020-06-02
如果您擁有一家公司,那么您就會知道用...查看全文

[網站運營技巧]教站長如何利用百度知心算法獲取流量

行業動態 2019-06-04
關于搜索引擎知心搜索其實談不上算法,...查看全文

[站點排名]搜索引擎網頁排序的每一個掉排名背后的邏輯觀點

行業動態 2019-06-04
在黑帽SEO優化里面流行著這么一種思路,...查看全文
網站地圖
掃描二維碼分享到微信
確 認
友情鏈接:
俺去也色久久小姐_518在线伦理片_善良的人妻雨柔加强版_奇奇米影视第四色欧美 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>