為您解碼網(wǎng)站建設(shè)的點點滴滴
發(fā)表日期:2018-06 文章編輯:小燈 瀏覽次數(shù):2352
前幾天看見群里有同學說安裝了ssl證書了后,網(wǎng)站直接403了,也就是資源請求錯誤。我判斷可能原因就是url跳轉(zhuǎn)的規(guī)則估計有問題,因為第一次我也踩過這個坑,然后我在自己的Ubuntu云服務(wù)器里面搭建測試一樣。
那么網(wǎng)站為什么要使用ssl?
目前絕大多數(shù)網(wǎng)站都還使用的是HTTP協(xié)議。而HTTP 協(xié)議無法加密數(shù)據(jù),極有可能會被不法分子利用。存在導致數(shù)據(jù)泄露、數(shù)據(jù)篡改、流量劫持、釣魚攻擊等安全問題隱患。如果網(wǎng)站使用?HTTPS協(xié)議的話,可以在 HTTP 的基礎(chǔ)上加入 SSL/TLS 協(xié)議,依靠 SSL 證書來驗證服務(wù)器的身份,為客戶端和服務(wù)器端之間建立“SSL”通道,確保數(shù)據(jù)運輸安全。更多詳細的資料可以自行百度。
ssl的簡單介紹
SSL(Secure Sockets Layer?安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進行加密。
SSL是網(wǎng)站安全重要的防護。目前,SSL證書的使用范圍遍及世界各地網(wǎng)絡(luò)。SSL對于網(wǎng)站來說是十分重要的安全協(xié)議,因為它能保護網(wǎng)站以及用戶的個人隱私信息,以及數(shù)據(jù)的安全性和完整性。詳細介紹關(guān)于ssl。
網(wǎng)站使用ssl必將是一個趨勢。
據(jù)外媒報道,自2018年5月1日起,如果Https網(wǎng)站所使用的SSL憑證未出現(xiàn)在公共證書透明度(Certificate Transparency,以下簡稱CT)日志中,谷歌Chrome瀏覽器就會出現(xiàn)全屏警告畫面。
我安裝ssl證書中的具體主要操作步驟
1.安裝web服務(wù)器apache
2.安裝開源的openssl
3.申請域名證書上傳到服務(wù)器中
4.配置openssl加載證書文件
5.設(shè)置HTTP跳轉(zhuǎn)HTTPS
01安裝apache2
本次實驗使用騰訊云的服務(wù)器Ubuntu16.04(屬于Debian以下方法都可以實現(xiàn))
使用ip:111.230.107.42
使用的域名:xsscss.cn?(提到此域名,我就得說一下我一直付費到2024年啦,都是money啊23333)
使用的證書:由騰訊云提供的免費證書(怎么申請自行百度)
1.1安裝apache
為了方便 我直接使用root權(quán)限操作一切(ubuntu?一般使用使用執(zhí)行命令需要sudo)
1# sudo su
1# apt install apache2 -y
1.2瀏覽器訪問測試
至此安裝apache2完成,簡單介紹一下apache的目錄
安裝好了Apache2會自動啟動,但是自動啟動的不包含https僅僅是http默認的配置路徑
Apache配置文件路徑:?cd /etc/apache2/
Apache默認日志路徑:?cd /var/log/apache2
進入Apache的配置文件目錄
cd /etc/apache2/
查看目錄結(jié)構(gòu)
tree
具體的目錄結(jié)構(gòu)如下
apache2.conf
conf-available
conf-enabled
envvars
magic
mods-available
ports.conf
sites-available
sites-enabled
其中?apache2.conf?是整個Apache的主配置文件
02 安裝openssl
其實一般最新的服務(wù)器都會默認自帶openssl的,本次實驗我們覆蓋安裝最新的,是沒有影響的,如果非要卸載再安裝的給你一行代碼自己實現(xiàn)
1# apt remove openssl
2.1安裝openssl以及所需要的依賴包
1# apt install openssl -y
2# apt install libssl-dev -y
2.2加載ssl模塊
1# a2enmod ssl
2.3根據(jù)提示重啟apache服務(wù)
1# service apache2 restart
2.4加載成功后可到配置文件查看是否加載成功
1# cd /etc/apache2/mods-enabled
有以上圖中標記的兩個文件夾則加載成功
03 上傳證書到云服務(wù)器
我已將在騰訊云申請的免費的ssl證書下載到本地,當然通過openssl可以自己生成一個,但是有沒有頒發(fā)授權(quán),會有提示網(wǎng)站證書不安全,如果是自己的設(shè)備安裝的話這個開源免費openssl的值得一搞。之前曾裝過深信服的桌面云服務(wù)器里面管理頁面系統(tǒng)都是ssl加密但是也都是證書不安全,但也沒什么不好。畢竟本地使用。但是自己網(wǎng)站的話每次都出現(xiàn)此網(wǎng)站證書不安全,給瀏覽你網(wǎng)站的朋友帶來一種不安全的印象。所以我們必須使用頒發(fā)的證書,可以買,很貴的,還好國內(nèi)阿里云和騰訊云都有免費的。自己要有域名的話就去免費申請一個,跟著我給網(wǎng)站安裝一個ssl。
證書就是這樣
這次使用apache的
上傳上去
方法很多 什么搭建ftp什么的 或者存到自己一個網(wǎng)站的目錄下 wget一下啊
這次我使用xshell里面的一個工具 既可以下載又可以上傳 so easy!
安裝lrzsz工具上傳證書
1# apt install lrzsz
使用rz上傳sz下載
一般上傳或者wget的目錄都在家目錄,不懂Linux可以看看我之前的linux學習的文章
1# cd /home/ubuntu
2# rz
3# ls
將證書文件移動配置文件中去自己新建一個文件夾放證書就行(這樣做的意義就是趴在放在一般目錄被刪掉,而etc配置文件我么一般不會刪,除非卸載一些東西才會那樣干)
查看并及解壓
1# mkdir /etc/apache/ssl
2# mv /Apache.zip /etc/apache/ssl
3# unzip Apache.zip
看看證書里的文件是什么啊
1_root_bundle.crt是根證書鏈(公鑰)
2_xsscss.cn.crt證書公鑰(一般以域名命名)
3_xsscss.cn.key私鑰文件(一般以域名命名)
接下里我們要做的就是讓ssl模塊加載這三個文件
04 配置openssl
Apache加載SSL模塊后,會在/etc/apache2/sites-available下生成default-ssl.conf文件
需要配置三個地方
4.1進入配置
1# cd /etc/apache2/sites-available/
2# ls
3# vi default-ssl.conf
添加一行
ServerName www.xsscss.cn
添加(修改)鏈接到三個證書文件,注意自己ssl證書所在的路徑
1SSLCertificateFile ?????/etc/apache2/ssl/2_xsscss.cn.crt
2SSLCertificateKeyFile ?/etc/apache2/ssl/3_xsscss.cn.key
3SSLCertificateChainFile /etc/apache2/ssl/1_root_bundle.crt
4.2設(shè)置一個軟鏈接使其apache加載ssl配置文件
進入到site-enabled文夾中查看當期只有一個000-default.conf文件
通過一些命令做一個映射使其apache加載ssl配置文件
1#cd /etc/apache2/sites-enabled/
2#ls?
3#ln -s /etc/apache2/sites-available/default-ssl.conf ./
映射(創(chuàng)建軟鏈接)成功后會發(fā)現(xiàn)在/etc/apache2/sites-enabled/ 下增加了default-ssl.conf文件,實際是一個軟鏈接
4.3加載apache的rewrite模塊,并重啟apache2服務(wù)器
1# a2enmod rewrite
05 設(shè)置http跳轉(zhuǎn)https
終于快完了,累死我了,為了寫這篇文章,我重裝了服務(wù)器,做第二次實驗了。其實md語法也不難,就是很煩,不知每個地方用啥好,很糾結(jié)。
之前在IIS服務(wù)器弄個URL映射,很麻煩,下載東西什么的,煩的一匹,對于Linux,我們都知道所有都是修改文件添加幾行代碼,直接777就是干。233333
進入正題:
—修改兩個地方或者一個我這使用兩個地方:
url重定向嘛,就是訪問”http://xsscss.cn“ 自動跳轉(zhuǎn)到 “https://xsscss.cn"上去了
首先:配置我們最初說的apache.conf核心文件
修改 AllowOverride 參數(shù)None 為All 根據(jù)字面意思我們就知道了 允許覆蓋為all
修改前
修改后
·?然后:在網(wǎng)站根目錄下 /var/www使用 touch .htaccess創(chuàng)建.htaccess文件
1# cd /var/www/
2# touch .htaccess
先百描述一波.htaccess文件(或者”分布式配置文件”),全稱是Hypertext Access(超文本入口)。提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache的AllowOverride指令來設(shè)置。
這個文件要是有php環(huán)境等其他動態(tài)網(wǎng)站的話 我們需要自己新建一個把我們需要的URL跳轉(zhuǎn)規(guī)則放進去
這個的話有好幾種實現(xiàn)方法
1.全服務(wù)器網(wǎng)站跳轉(zhuǎn)
2.一個網(wǎng)站跳轉(zhuǎn)
3.某些頁面(目錄跳轉(zhuǎn))
這里主要講下全服務(wù)器網(wǎng)站和單個網(wǎng)站跳轉(zhuǎn)
1# vi .htaceess
全服務(wù)器跳轉(zhuǎn):
添加以下代碼(使用正則表達式過濾的,在Java和python爬蟲中用過,還有js驗證過濾用的也多)
1RewriteEngine on
2 RewriteCond %{SERVER_PORT} !^443$
3 RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
如果對某個目錄做強制跳轉(zhuǎn),則使用以下代碼:
1RewriteEngine on
2 #RewriteBase /website
3 RewriteCond %{SERVER_PORT} !^443$
4 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
最后重啟服務(wù)
1# service apache2 restart
06 測試訪問
至此 Apache http訪問轉(zhuǎn)到https 配置結(jié)束
大功告成
參考以上方法也可以直接在別的環(huán)境下安裝ssl,大致就是安裝開源的open-ssl,,使用自己制作的證書或者使用第三方的證書。
需注意到地方:
前提是你的域名要解析到本ip,我這里已經(jīng)解析過了
除此之外云服務(wù)器可能有安全規(guī)則防火全會關(guān)閉443端口,尤其阿里云,第一次給IIS aparke.cn配置的時候就入坑了 后來還是人工提交訂單幫我找到問題所在
注:本文為合天智匯原創(chuàng),未經(jīng)允許,嚴禁轉(zhuǎn)載!
日期:2018-04 瀏覽次數(shù):6830
日期:2017-02 瀏覽次數(shù):3501
日期:2017-09 瀏覽次數(shù):3737
日期:2017-12 瀏覽次數(shù):3585
日期:2018-12 瀏覽次數(shù):4894
日期:2016-12 瀏覽次數(shù):4649
日期:2017-07 瀏覽次數(shù):13699
日期:2017-12 瀏覽次數(shù):3575
日期:2018-06 瀏覽次數(shù):4327
日期:2018-05 瀏覽次數(shù):4504
日期:2017-12 瀏覽次數(shù):3616
日期:2017-06 瀏覽次數(shù):4037
日期:2018-01 瀏覽次數(shù):4009
日期:2016-12 瀏覽次數(shù):3967
日期:2018-08 瀏覽次數(shù):4479
日期:2017-12 瀏覽次數(shù):3785
日期:2016-09 瀏覽次數(shù):6546
日期:2018-07 瀏覽次數(shù):3267
日期:2016-12 瀏覽次數(shù):3285
日期:2018-10 瀏覽次數(shù):3439
日期:2018-10 瀏覽次數(shù):3542
日期:2018-09 瀏覽次數(shù):3634
日期:2018-02 瀏覽次數(shù):3656
日期:2015-05 瀏覽次數(shù):3579
日期:2018-09 瀏覽次數(shù):3366
日期:2018-06 瀏覽次數(shù):3491
日期:2017-02 瀏覽次數(shù):3930
日期:2018-02 瀏覽次數(shù):4392
日期:2018-02 瀏覽次數(shù):4254
日期:2016-12 瀏覽次數(shù):3628
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.