Linux初學者筆記04

  
  1. http協議
       超文本傳輸協議(hypertext transfer protocol),html(hyper text mark language)
       http一次事務的完整過程
       client --請求報文--> server
       client <--響應報文-- server
     Web資源
       - 靜態資源:png,html
       - 動態資源:jsp.php
     資源的定位
      URL:http://172.25.254.88:80/phpadmin
  2. httpd的簡單應用
     安裝與啓動
     yum install httpd -y
     systemctl start httpd
     systemctl enable httpd
     systemctl stop firewalld
    主配置文件/etc/httpd/conf/httpd.conf
       - 修改httpd服務默認端口
         42 Listen 8080
       - 修改默認發佈目錄(注意selinux)
         119 DocumentRoot"/westos/www/html"
         124 <Directory"/westos/www">
         125 AllowOverride None
         126 Allow open access:
         127 Require all granted
         128 </Directory>
         163 <IfModule dir_module>
         164 DirectoryIndex index.htmlwestos.html
         165 </IfModule>
       - httpd幫助手冊
         yum install httpd-manual.noarch-y
         訪問:http://localhost/manual
###- 虛擬主機的建立
         一臺服務器,baidu.com,qq.com

       1). httpd的端口改爲80,默認發佈目錄改回去;
       2). 創建不同域名訪問不同信息的目錄
           mkdir/virtual/{qq.com,baidu.com}/html -p
           echo "baidu'page">/virtual/baidu.com/html/index.html
           echo "qq'page">/virtual/qq.com/html/index.html
       3). 修改配置文件/etc/httpd/conf.d/目錄下
           cd /etc/httpd/conf.d/
           vim virtual.conf
     
            1 <virtualhost*:80>
            2       servername www.qq.com
            3       serveralias qq.com
            4       documentroot /virtual/qq.com/html
            5       customlog "logs/qq.com.log"combined
            6 </virtualhost>
            7
            8 <directory/virtual/qq.com >
            9       require all granted
            10 </directory>

            vim default.conf

            1 <virtualhost*:80>
            2       documentroot /var/www/html
            3        customlog "logs/default.log"combined
            4 </virtualhost>
            5 <directory/var/www>
            6        require all granted
            7 </directory>
              systemctl start httpd
        4). 修改/virtual/目錄的selinux標籤,selinux=enforcing
             semanage fcontext -a -thttpd_sys_content_t '/virtual(/.*)?'
             restorecon -FvvR/virtual/
        5). 客戶端一定要寫解析/etc/hosts
172.25.xx.xx                     www.baidu.com     www.qq.com     www.sina.com
###- 基於用戶身份驗證
         1). 新建用戶認證可以訪問的網頁
             mkdir/var/www/html/admin
             echo "admin'spage" >/var/www/html/admin/index.html
         2). 生成用戶名和密碼對應的文件
             htpasswd -cm/etc/httpd/.htpasswd admin
             htpasswd -m/etc/httpd/.htpasswd harry
         3). 修改配置文件File: /home/kiosk/Desktop/http.md

              vim/etc/httpd/conf.d/default.conf
              <virtualhost*:80>
                    documentroot/var/www/html
                    customlog "logs/default.log"combined
              </virtualhost>
              <directory/var/www/html/admin>
                    AuthName "pleaseinput your name and passwd:"
                    AuthType basic
                    AuthUserFile /etc/httpd/.htpasswd
                    Require useradmin
              </directory>

          4). 客戶端訪問:http://localhost/admin
###- 自定義簽名證書
          * http:80 https:443
      1). 安裝crypto-utils軟件包
           yum install crypto-utilsmod_ssl -y
      2). 調用genkey,生成自簽名證書和私鑰
           genkey 172.25.254.139
      3). 編輯文件/etc/httpd/conf.d/ssl.conf
          SSLEngine on
          SSLCertificateFile/etc/pki/tls/certs/172.25.254.139.crt
          SSLCertificateKeyFile/etc/pki/tls/private/172.25.254.139.key
          重啓httpd服務,訪問https://www.baidu.com會訪問到默認訪問頁面
      4). 編輯文件/etc/httpd/conf.d/virtual.conf
           1 <virtualhost*:443>
                     2 servernamewww.qq.com
                     3 serveraliasqq.com
                     4 documentroot /virtual/qq.com/html
                     5 customlog"logs/qq.com.log" combined
                     6 SSLEngine on
                     7 SSLCertificateFile/etc/pki/tls/certs/172.25.254.139.crt
                     8SSLCertificateKeyFile /etc/pki/tls/private/172.25.254.139.key
           9 </virtualhost>
           10
           11 <directory/virtual/qq.com >
                     12require allgranted
           13 </directory>
           重啓httpd服務,訪問https://www.qq.com會訪問到/virtual/qq.com/html/index.html頁面
     ** 注意: 1.第一次訪問https://www.baidu.com (或者其他)時需要信任自簽名證書;
              2.下次就不需要,如果想再次信任,可以在瀏覽器裏面設置;
###- 網頁重定向(rewrite):把所有80端口的請求全部重定向由https來處理
        1). 編輯/etc/httpd/conf/virtual.conf
            28 <Virtualhost*:80>
                     29 ServerNamewww.qq.com
                     30 RewriteEngineon
                     31 RewriteRule^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
            32 </Virtualhost>

        2). 重啓httpd服務,客戶端訪問www.qq.com時自動跳轉到https://www.qq.com

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章