httpd-2.2及httpd-2.4版本實現對檔案和使用者的許可權管理以及網頁的https的功能

來源:互聯網
上載者:User

標籤:httpd https

分別使用httpd-2.2和httpd-2.4實現

  1.建立httpd服務,要求:

    1) 提供兩個基於名稱的虛擬機器主機www1, www2;有單獨的錯誤記錄檔和訪問日誌;

    2) 通過www1的/server-status提供狀態資訊,且僅允許link使用者訪問;

    3) www2不允許192.168.1.0/24網路中任意主機訪問;

  2.為上面的第2個虛擬機器主機提供https服務;


首先在CentOS6.7中安裝httpd-2.2版本的

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/05/A0/wKiom1mor2ahBUlGAAAITzFEBxI371.png" title="1.png" alt="wKiom1mor2ahBUlGAAAITzFEBxI371.png" />

在CentOS 7.2中安裝httpd-2.4版本的

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/05/A0/wKiom1mor5CTRIDiAAAH5-q5uGE075.png" title="2.png" alt="wKiom1mor5CTRIDiAAAH5-q5uGE075.png" />


為了避免因為修改主設定檔,造成未知錯誤,可以將建立虛擬機器主機的設定檔,放在/etc/httpd/conf.d/ 目錄下,這樣,httpd服務在啟動過程中,同樣也會載入此目錄的設定檔,而避免不必要的麻煩。

 

在虛擬機器主機設定檔前先建立以下目錄:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/A4/51/wKioL1mor52SJJKGAAAwUh8mEFo437.png" title="3.png" alt="wKioL1mor52SJJKGAAAwUh8mEFo437.png" />

 

在/etc/httpd/conf.d/目錄下建立virtualhost.conf檔案,配置以下內容

 650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/05/A0/wKiom1mor82AzDdSAAAwnVIJavw821.png" title="4.png" alt="wKiom1mor82AzDdSAAAwnVIJavw821.png" />

在各個虛擬機器主機的根目錄下面建立index.html的首頁檔案

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/05/A0/wKiom1mor-vA_M80AAATQVTO85g367.png" title="5.png" alt="wKiom1mor-vA_M80AAATQVTO85g367.png" />

 

配置完成後,驗證設定檔是否存在錯誤,顯示正常。

 650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A4/51/wKioL1mor_LSt7-xAAAGAQOtkR8461.png" title="6.png" alt="wKioL1mor_LSt7-xAAAGAQOtkR8461.png" />

重新啟動httpd伺服器,確保服務正常

 

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/05/A0/wKiom1mosCGAQ0A5AACqU4iLRKQ706.png" title="7.png" alt="wKiom1mosCGAQ0A5AACqU4iLRKQ706.png" />

 

修改/etc/hosts檔案,添加以下內容:

 650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/05/A0/wKiom1mosEOA56IZAAAQPYw0nIE028.png" title="8.png" alt="wKiom1mosEOA56IZAAAQPYw0nIE028.png" />

利用curl命令,驗證伺服器虛擬機器主機是否配置正確

 650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A4/51/wKioL1mosETRMPUsAAANNAs-u_s223.png" title="9.png" alt="wKioL1mosETRMPUsAAANNAs-u_s223.png" />

顯示成功!讓我們看看伺服器端是否產生了日誌

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/05/A0/wKiom1mosHLBQ6MmAABt4Q1WgyA290.png" title="10.png" alt="wKiom1mosHLBQ6MmAABt4Q1WgyA290.png" />

 

伺服器端產生日誌了,說明第一題完成了,下面我們在看第二題吧。

 

通過www1的/server-status提供狀態資訊,且僅允許link使用者訪問

server-status在主設定檔/etc/httpd/conf/httpd.conf九百多行

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/05/A0/wKiom1mosJCBhZb7AAARz8wu7L4397.png" title="11.png" alt="wKiom1mosJCBhZb7AAARz8wu7L4397.png" />

把這段代碼複製到建立的virtualhost.conf檔案裡面

 

這個link使用者,是用httpd程式裡面內建的工具產生的,只允許登入web頁面用的,是專屬於這個服務的虛擬使用者。這個工具就是htpasswd命令

 

我們先產生一個叫做link的使用者,順便在建立一個叫做qhd的使用者:

link的帳號密碼均為link

qhd的帳號密碼均為qhd

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/05/A0/wKiom1mosKqg19TCAAApqsLsK94247.png" title="12.png" alt="wKiom1mosKqg19TCAAApqsLsK94247.png" />

 

 

建立好帳號後,virtualhost.conf檔案修改如下:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A4/51/wKioL1mosKyB0tMYAABJtINL-lE792.png" title="13.png" alt="wKioL1mosKyB0tMYAABJtINL-lE792.png" />

 

首先驗證一下,www1的首頁面是否正常

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/A4/51/wKioL1mosMTRCLJIAAAh54GbUPg577.png" title="14.png" alt="wKioL1mosMTRCLJIAAAh54GbUPg577.png" />

 

 

沒有問題,那在驗證一下/server-status頁面

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/05/A0/wKiom1mosPSDIaRwAABs7T7DAh0781.png" title="15.png" alt="wKiom1mosPSDIaRwAABs7T7DAh0781.png" />

 

先利用qhd帳號驗證一下,由於認證不允許qhd帳號訪問,所以一直提示登入的這個頁面,那在試一下link

帳號驗證成功,顯示出了status頁面

 

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/A4/51/wKioL1mosPWyJK8-AAD643VuktQ668.png" title="16.png" alt="wKioL1mosPWyJK8-AAD643VuktQ668.png" />

 

 

下面進行第三小題:

這個問題是虛擬機器主機www2不允許192.168.1.0/24網路中任意主機訪問,需要修改設定檔:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/05/A0/wKiom1mosSSRJ5ZAAABazKubPzg236.png" title="17.png" alt="wKiom1mosSSRJ5ZAAABazKubPzg236.png" />

在虛擬機器主機的www2的配置參數中修改,修改完成之後,重啟httpd服務

 

登入192.168.1.0主機,利用curl命令測試一下:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A4/51/wKioL1mosSiS_5jZAAAjVJkGYpE242.png" title="18.png" alt="wKioL1mosSiS_5jZAAAjVJkGYpE242.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/05/A0/wKiom1mosVLyeoeVAAAesICrXSs072.png" title="19.png" alt="wKiom1mosVLyeoeVAAAesICrXSs072.png" />

對虛擬機器主機www1.link.com,可以訪問,但是對www2.link.com來說,http報文head資訊,響應報文狀態代碼403,禁止用戶端訪問了!

所以,到此第一題做完了,下面進行第二題的操作。

為虛擬機器主機www2.link.com提供https服務,那麼httpd服務需要裝載一個mod_ssl模組,預設未安裝。下面進行安裝操作:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A4/51/wKioL1mosVrguVo9AABVBT6BqO8589.png" title="20.png" alt="wKioL1mosVrguVo9AABVBT6BqO8589.png" />

安裝完成後,可以看到此模組已經在/etc/httpd/conf.d目錄下,產生一個ssl.conf的設定檔

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A4/51/wKioL1mosXLz-MvnAAAXCcI_N-Y979.png" title="21.png" alt="wKioL1mosXLz-MvnAAAXCcI_N-Y979.png" />

下面的操作步驟是,搭建私人CA,並且伺服器從CA申請認證:

建立必要檔案和產生CA機構私密金鑰:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A4/51/wKioL1mosYvCYLkNAAAu0VBtRds775.png" title="22.png" alt="wKioL1mosYvCYLkNAAAu0VBtRds775.png" />

產生自簽認證

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/05/A0/wKiom1mosbjAMr8sAABe8ow-XfM550.png" title="23.png" alt="wKiom1mosbjAMr8sAABe8ow-XfM550.png" />

到此私人CA搭建基本完成,下面伺服器開始申請認證:

web伺服器端建立私密金鑰檔案,並產生申請認證

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/05/A0/wKiom1mosdiRi8omAACTwjoqQ9M182.png" title="24.png" alt="wKiom1mosdiRi8omAACTwjoqQ9M182.png" />

將web伺服器產生的認證發送給CA伺服器

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A4/51/wKioL1mosd_gPvg6AAAXFh9GpcI624.png" title="25.png" alt="wKioL1mosd_gPvg6AAAXFh9GpcI624.png" />

CA簽署認證:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/05/A0/wKiom1mosgvBt1zSAAAQvBPdOVI489.png" title="26.png" alt="wKiom1mosgvBt1zSAAAQvBPdOVI489.png" />

將此認證發給另一個虛擬機器主機,並修改ssl的設定檔/etc/httpd/conf.d/ssl.conf

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A4/51/wKioL1mosg3jhRLiAAAJ017GYtw195.png" title="27.png" alt="wKioL1mosg3jhRLiAAAJ017GYtw195.png" />

將修改以下幾項:   

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A4/51/wKioL1mosiTCTDH6AAATNKTUesY924.png" title="28.png" alt="wKioL1mosiTCTDH6AAATNKTUesY924.png" />

驗證修改的檔案是否有語法錯誤,並重新載入配置:

測試虛擬機器主機www2的https服務是否能正常訪問

顯示無法驗證認證,由於CA的認證還未匯入到瀏覽器

我們可以將CA認證發到測試的機器上,並用CA認證進行測試,如下

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/05/A0/wKiom1moslLhf72tAAAJDhil1v8825.png" title="29.png" alt="wKiom1moslLhf72tAAAJDhil1v8825.png" />

顯示結果為虛擬機器主機www2的認證通過了驗證,並得以顯示。


本文出自 “12657170” 部落格,請務必保留此出處http://12667170.blog.51cto.com/12657170/1961595

httpd-2.2及httpd-2.4版本實現對檔案和使用者的許可權管理以及網頁的https的功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.