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
Linux初學者筆記04
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.