200

在LNMPA服務(wù)器下免費搭建HTTPS網(wǎng)站

時間: 2015-03-23 10:04:49   點擊數(shù): 30349   來源: 耐思智慧

th

本文講述如何免費申請SSL證書,并搭建https網(wǎng)站,由于服務(wù)器是NGINX,順便會介紹如何安裝SPDY協(xié)議。

StartSSL介紹:

StartSSL是一家CA機構(gòu),它的根證書很久之前就被一些具有開源背景的瀏覽器支持(Firefox瀏覽器、谷歌Chrome瀏覽器、蘋果Safari瀏覽器等)。

在今年9月份,StartSSL竟然搞定了微軟:微軟在升級補丁中,更新了通過Windows根證書認證程序(Windows Root Certificate Program)的廠商清單,并首次將StartCom公司列入了該認證清單,這是微軟首次將提供免費數(shù)字驗證技術(shù)的廠商加入根證書認證列表中,F(xiàn)在,在Windows 7或安裝了升級補丁的Windows Vista或Windows XP操作系統(tǒng)中,系統(tǒng)會完全信任由StartCom這類免費數(shù)字認證機構(gòu)認證的數(shù)字證書,從而使StartSSL也得到了IE瀏覽器的支持。

StartSSL申請注意事項:

(1)需要一個域名,并開通域名郵箱,郵箱前綴為:webmaster這樣的信息,一定要開通一個webmaster@yourdomainname.com這樣的域名,這個會用來驗證你的域名;

(2)申請時一定要填寫完整正確的信息,否則無法通過申請,我就是因為第一次填寫的地址信息不全,沒有通過,一般添寫正確的地址很快就會通過的;

(3)打開網(wǎng)站 在control panel / sign-up 注意填寫正確資料。收到郵件后復(fù)制驗證碼。然后可以生成一個證書,注意,startssl.com不是以用戶名、密碼來驗證用戶的,是用證書來驗證用戶的。所以生成證書后(火狐會導(dǎo)入證書),注意備份證書。丟失證書后只能重新注冊。

(4)登錄后還要驗證域名才能為該域名生成SSL證書,可以選擇在whois里的郵箱、hostmaster@domain、postmaster@domain或者webmaster@domain

(5)然后就可以在Certificates wizard里就可以申請SSL證書了。

(6)有效期一年(到期前會收到郵件通知續(xù)期)。

申請流程:

所有的資料都最好使用正確的。因為注冊SSL是一件很嚴肅的事情。還有就是如果你的IP地址是在大陸,你輸入香港也是會被拒絕的。而且你的地址也是也是要詳細的。按照表單寫完以后點擊Continue按鈕。然后你填寫的郵箱會收到一個驗證碼。 上面說大概需要等6個小時收到通知,其實一般一兩分鐘就會出結(jié)果

打開你的郵箱,把驗證碼輸入到你的瀏覽器Code的框里,然后繼續(xù)。

通過后,會收到通過驗證的郵件,然后給你一個URL,輸入到瀏覽器中進行下一步安裝證書。如果彈出的窗口依然還讓你輸入Code,那則輸入郵件下面鏈接的Code。

點擊Continue,接下來你的瀏覽器開始安裝私鑰,相當(dāng)于建立用戶名密碼

然后密鑰安裝成功以后提示你開始安裝證書。

證書安裝完畢以后會祝賀你一下。點擊完成。 這時給你會收到郵件說你安裝好啦,可以使用了。

在Validations Wizard選擇里驗證你的域名。按照提示操作就行了,它會掃描你的網(wǎng)站上的郵箱,然后列出來,會給你的郵箱發(fā)一封信,所以你一定要有一個企業(yè)郵箱來收信的。域名驗證成功后,接下來申請域名SSL證書。

點擊Certificates Wizard ,選擇下拉菜單中的Web Server SSL/TSL Certificate

然后進入下一步他會問你驗證方式,這一步如果你跳過需要在VPS上設(shè)置,具體可以見網(wǎng)站:http://blog.nicky1605.com/the-free-ssl-configuration-startssl-on-nginx.html

如果沒有跳過,你必須設(shè)置密碼,不少于10位的。然后點擊下一步生成一段字符串

這一小的操作中會出現(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文件,因為我的服務(wù)器是lnmpa的,apache的重定向文件還是會起作用的,檢查下有無重定向到http的,一般是301重定向需要修改下。

上面這些做完之后,還需要另外對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就不會提示證書不安全了。

下就是重啟你的nginx服務(wù)器,但這里會提示你需要輸入Enter PEM pass phrase

總不能每次重啟都要輸入那個密碼吧,這個可以跳過的,方法按照我之前的一篇文章操作

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)注的就是最新版了。因為前些時間的openssl漏洞,現(xiàn)在linode好像自動已經(jīng)升級到最新版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 這個是查看nginx安裝了什么模塊 安裝的時候把這些都再加上


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 路徑就是剛下載的那個路徑。

再配置完成后,執(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

補充:關(guān)于 “此網(wǎng)頁包含的腳本來自于身份未經(jīng)驗證的源” 的提示信息

出現(xiàn)這個一般是因為在網(wǎng)頁內(nèi)容中加載了其它不帶https的內(nèi)容,比如加載了google font


<link  rel='stylesheet' type='text/css'>


XHTML 一般解決辦法就是把資源下載到本地,然后使用相對路徑,或者使用https的資源地址。

google 支持https連接,上面的情況你可以直接改為:


<link  rel='stylesheet' type='text/css'>


上一篇:中小企業(yè)網(wǎng)站建設(shè) 下一篇:建立一個網(wǎng)站需要什么?

旗下網(wǎng)站:耐思智慧 - 淘域網(wǎng) - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

耐思智慧 © 版權(quán)所有 Copyright © 2000-2024 www.testsystem.com.cn,Inc. All rights reserved

備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網(wǎng)安備 44049002000123號  域名注冊服務(wù)機構(gòu)許可:粵D3.1-20240003 CN域名代理自深圳萬維網(wǎng)

聲明:本網(wǎng)站中所使用到的其他各種版權(quán)內(nèi)容,包括但不限于文章、圖片、視頻、音頻、字體等內(nèi)容版權(quán)歸原作者所有,如權(quán)利所有人發(fā)現(xiàn),請及時告知,以便我們刪除版權(quán)內(nèi)容

本站程序界面、源代碼受相關(guān)法律保護, 未經(jīng)授權(quán), 嚴禁使用; 耐思智慧 © 為我公司注冊商標(biāo), 未經(jīng)授權(quán), 嚴禁使用

法律顧問:珠海知名律師 廣東篤行律師事務(wù)所 夏天風(fēng) 律師