本文講述如何免費(fèi)申請(qǐng)SSL證書,并搭建https網(wǎng)站,由于服務(wù)器是NGINX,順便會(huì)介紹如何安裝SPDY協(xié)議。
StartSSL介紹:
StartSSL是一家CA機(jī)構(gòu),它的根證書很久之前就被一些具有開源背景的瀏覽器支持(Firefox瀏覽器、谷歌Chrome瀏覽器、蘋果Safari瀏覽器等)。
在今年9月份,StartSSL竟然搞定了微軟:微軟在升級(jí)補(bǔ)丁中,更新了通過Windows根證書認(rèn)證程序(Windows Root Certificate
Program)的廠商清單,并首次將StartCom公司列入了該認(rèn)證清單,這是微軟首次將提供免費(fèi)數(shù)字驗(yàn)證技術(shù)的廠商加入根證書認(rèn)證列表中。現(xiàn)在,在Windows 7或安裝了升級(jí)補(bǔ)丁的Windows Vista或Windows XP操作系統(tǒng)中,系統(tǒng)會(huì)完全信任由StartCom這類免費(fèi)數(shù)字認(rèn)證機(jī)構(gòu)認(rèn)證的數(shù)字證書,從而使StartSSL也得到了IE瀏覽器的支持。
StartSSL申請(qǐng)注意事項(xiàng):
(1)需要一個(gè)域名,并開通域名郵箱,郵箱前綴為:webmaster這樣的信息,一定要開通一個(gè)webmaster@yourdomainname.com這樣的域名,這個(gè)會(huì)用來驗(yàn)證你的域名;
(2)申請(qǐng)時(shí)一定要填寫完整正確的信息,否則無法通過申請(qǐng),我就是因?yàn)榈谝淮翁顚懙牡刂沸畔⒉蝗?,沒有通過,一般添寫正確的地址很快就會(huì)通過的;
(3)打開網(wǎng)站 在control panel / sign-up 注意填寫正確資料。收到郵件后復(fù)制驗(yàn)證碼。然后可以生成一個(gè)證書,注意,startssl.com不是以用戶名、密碼來驗(yàn)證用戶的,是用證書來驗(yàn)證用戶的。所以生成證書后(火狐會(huì)導(dǎo)入證書),注意備份證書。丟失證書后只能重新注冊(cè)。
(4)登錄后還要驗(yàn)證域名才能為該域名生成SSL證書,可以選擇在whois里的郵箱、hostmaster@domain、postmaster@domain或者webmaster@domain
(5)然后就可以在Certificates wizard里就可以申請(qǐng)SSL證書了。
(6)有效期一年(到期前會(huì)收到郵件通知續(xù)期)。
申請(qǐng)流程:
所有的資料都最好使用正確的。因?yàn)樽?cè)SSL是一件很嚴(yán)肅的事情。還有就是如果你的IP地址是在大陸,你輸入香港也是會(huì)被拒絕的。而且你的地址也是也是要詳細(xì)的。按照表單寫完以后點(diǎn)擊Continue按鈕。然后你填寫的郵箱會(huì)收到一個(gè)驗(yàn)證碼。 上面說大概需要等6個(gè)小時(shí)收到通知,其實(shí)一般一兩分鐘就會(huì)出結(jié)果
打開你的郵箱,把驗(yàn)證碼輸入到你的瀏覽器Code的框里,然后繼續(xù)。
通過后,會(huì)收到通過驗(yàn)證的郵件,然后給你一個(gè)URL,輸入到瀏覽器中進(jìn)行下一步安裝證書。如果彈出的窗口依然還讓你輸入Code,那則輸入郵件下面鏈接的Code。
點(diǎn)擊Continue,接下來你的瀏覽器開始安裝私鑰,相當(dāng)于建立用戶名密碼
然后密鑰安裝成功以后提示你開始安裝證書。
證書安裝完畢以后會(huì)祝賀你一下。點(diǎn)擊完成。 這時(shí)給你會(huì)收到郵件說你安裝好啦,可以使用了。
在Validations Wizard選擇里驗(yàn)證你的域名。按照提示操作就行了,它會(huì)掃描你的網(wǎng)站上的郵箱,然后列出來,會(huì)給你的郵箱發(fā)一封信,所以你一定要有一個(gè)企業(yè)郵箱來收信的。域名驗(yàn)證成功后,接下來申請(qǐng)域名SSL證書。
點(diǎn)擊Certificates Wizard ,選擇下拉菜單中的Web
Server SSL/TSL Certificate
然后進(jìn)入下一步他會(huì)問你驗(yàn)證方式,這一步如果你跳過需要在VPS上設(shè)置,具體可以見網(wǎng)站:http://blog.nicky1605.com/the-free-ssl-configuration-startssl-on-nginx.html
如果沒有跳過,你必須設(shè)置密碼,不少于10位的。然后點(diǎn)擊下一步生成一段字符串
這一小的操作中會(huì)出現(xiàn)兩段字條串,一段類似這樣的
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,1FBB7A12C5332861D52FEDFA2E3E7AE3
....
復(fù)制內(nèi)容保存為 /etc/ssl/certs/xxxx.crt
一段類似這樣的
----BEGIN CERTIFICATE-----
MIIGdTCCBV2gAwIBAgIDYTrWMA0GCSqGSIc3FQEBBQUAMIGMMQswCQYDVQQGEwJJ
...
復(fù)制內(nèi)容保存為 /etc/ssl/certs/xxxx.key
下面就是配置你的VPS上的NGINX服務(wù)器了。
vi /usr/local/nginx/conf/vhost/xxxx.conf
在Server里添加
listen 443 ssl spdy;
ssl on;
ssl_certificate /etc/ssl/certs/xxxx.crt;
ssl_certificate_key
/etc/ssl/certs/xxxx.key;
ssl_session_timeout 10m;
ssl_protocols SSLv2 SSLv3
TLSv1;
ssl_ciphers
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
Shell 如果你想讓http跳轉(zhuǎn)到https下,需要再加一段代碼
if ($ssl_protocol = "") {
rewrite ^/(.*)$ https://www.domain.com/$1 permanent;
}
Shell 如果出現(xiàn)循環(huán)重定向,檢查下你的網(wǎng)站根目錄下,是否有.htaccess文件,因?yàn)槲业姆?wù)器是lnmpa的,apache的重定向文件還是會(huì)起作用的,檢查下有無重定向到http的,一般是301重定向需要修改下。
上面這些做完之后,還需要另外對(duì)firefox瀏覽器作一些配置更改
到/etc/ssl/certs/xxxx.crt所在目錄執(zhí)行以下代碼
wget http://cert.startssl.com/certs/sub.class1.server.ca.pem
ca.pem sub.class1.server.ca.pem >> xxxx.crt
Shell 就是向 xxx.crt里面追加一些內(nèi)容,這樣firefox就不會(huì)提示證書不安全了。
下就是重啟你的nginx服務(wù)器,但這里會(huì)提示你需要輸入Enter
PEM pass phrase
總不能每次重啟都要輸入那個(gè)密碼吧,這個(gè)可以跳過的,方法按照我之前的一篇文章操作
http://www.love4026.org/313864/lnmp%E4%B8%8Bnginx%E9%85%8D%E7%BD%AEssl%E5%AE%89%E5%85%A8%E8%AF%81%E4%B9%A6%E9%81%BF%E5%85%8D%E5%90%AF%E5%8A%A8%E8%BE%93%E5%85%A5enter-pem-pass-phrase/
SPDY協(xié)議安裝
你要先下載最新的 OpenSSL,比如 1.0.1e,這里是下載列表,紅色標(biāo)注的就是最新版了。因?yàn)榍靶r(shí)間的openssl漏洞,現(xiàn)在linode好像自動(dòng)已經(jīng)升級(jí)到最新版1.0.1e了。
但還是需要下載,解壓
cd /tmp
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar zxvpf openssl-1.0.1e.tar.gz
Shell 然后下載最新的Nginx
先用 /usr/local/nginx/sbin/nginx -V 這個(gè)是查看nginx安裝了什么模塊 安裝的時(shí)候把這些都再加上
Shell wget http://nginx.org/download/nginx-1.7.2.tar.gz
tar zxvf nginx-1.7.2.tar.gz
cd nginx-1.7.2
./configure --user=www --group=www --prefix=/usr/local/nginx
--with-http_stub_status_module --with-http_ssl_module
--with-http_gzip_static_module --with-ipv6 --with-pcre --with-http_sub_module
--with-http_spdy_module --with-openssl=/tmp/openssl-1.0.1e
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
make upgrade
/usr/local/nginx/sbin/nginx -v
上面需要注意的是./configure –with-http_ssl_module –with-http_spdy_module –with-openssl=/tmp/openssl-1.0.1e 這是最小安裝方法,你需要根據(jù)自己的配置安裝,上面是lnmpa下面的。
–with-openssl=/tmp/openssl-1.0.1e 路徑就是剛下載的那個(gè)路徑。
再配置完成后,執(zhí)行 /etc/init.d/nginx reload 或 /usr/local/nginx/sbin/nginx -s reload 重載 Nginx 配置文件即可正常訪問了。
如果你不想使用 SPDY ,記得修改Server里的 listen 443 ssl spdy; 改為 listen 443 ssl;
如何查看有沒有啟用SPDY成功沒
在Chrome瀏覽器里打開 chrome://net-internals/#spdy 便能查看目前使用SPDY的連接。
或者使用插件查看, https://chrome.google.com/webstore/detail/spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin
補(bǔ)充:關(guān)于 “此網(wǎng)頁包含的腳本來自于身份未經(jīng)驗(yàn)證的源” 的提示信息
出現(xiàn)這個(gè)一般是因?yàn)樵诰W(wǎng)頁內(nèi)容中加載了其它不帶https的內(nèi)容,比如加載了google font
<link
rel='stylesheet' type='text/css'>
XHTML 一般解決辦法就是把資源下載到本地,然后使用相對(duì)路徑,或者使用https的資源地址。
google 支持https連接,上面的情況你可以直接改為:
<link
rel='stylesheet' type='text/css'>
河南億恩科技股份有限公司(1tcdy.com)始創(chuàng)于2000年,專注服務(wù)器托管租用,是國家工信部認(rèn)定的綜合電信服務(wù)運(yùn)營商。億恩為近五十萬的用戶提供服務(wù)器托管、服務(wù)器租用、機(jī)柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶不斷的獲得更大的收益。
服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:
0371-60135900
虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:
0371-55621053
網(wǎng)絡(luò)版權(quán)侵權(quán)舉報(bào)電話:
0371-60135995
服務(wù)熱線:
0371-60135900