### ServerTokens 應答頭
~~~
ServerTokens OS
安全--> ProductOnly
~~~
### Timeout 超時時間
服務器在斷定請求失敗前等待的秒數,比如第一次握手成功,第二次遲遲不來
>[info] 服務器較為繁忙時,此數值應當調低
~~~
Timeout 60
~~~
### KeepAlive 長連接
若服務器不是特別繁忙,應該打開長連接,可以顯著提高服務器的性能
長連接方式,是為了讓下一次的**socket**通信復用之前創建的連接,從而,減少連接的創建和銷毀的系統開銷。
保持連接,會讓某個進程或者線程一直處于等待狀態,直到再次通信或者連接超時。
~~~
KeepAlive Off
~~~
### MaxKeepAliveRequests 長連接最大請求數量
一次長連接發送的請求數量
~~~
MaxKeepAliveRequests 100
~~~
### KeepAliveTimeout 長連接最長連接時間
若服務器很繁忙,應盡量減小此值
~~~
KeepAliveTimeout 15
~~~
### ErrorDocument 錯誤響應代碼
* 通過文本來取代500響應代碼
~~~
#ErrorDocument 500 "The server made a boo boo."
~~~
* 通過一個頁面取代404響應代碼
~~~
#ErrorDocument 404 /missing.html
~~~
* 通過一個腳本取代404響應代碼
~~~
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
~~~
### Options指令
~~~
None:不起任何作用
ExecCGI:允許當前目錄下執行CGI腳本
Index:開啟索引功能;如果一個請求的目錄URL沒有由DirectoryIndex指令指定的索引文件,則返回目錄列表。
FollowSymLinks:允許在當前目錄中使用符號連接,如果此參數參數在<Location>中將被忽略,
All:使用除multiView以外的所有特性,All是Options指令的默認參數。
options可以使用`+``-`來改變上面定義的參數,具體化現在的參數。
~~~
>[danger] 若要啟用重寫 需要開啟FollowSymLinks
### 容器部分
容器處理順序
#### IfModule容器
容器作用于模塊,首先判斷模塊是否載入,在進行處理。
#### IfDefine容器
與IfModule類似,只有當參數為真時才執行,參數需要在httpd啟動時加上。
~~~
<ifDefine proxy>
LoadModule ------
</IfDefine>
~~~
~~~
httpd -S proxy
~~~
#### Directory和DirectoryMatch容器
Directory的作用是讓其封裝的指令在指定目錄及其子目錄起作用,這個路徑必須是絕對路徑,可以使用通配符“*”、"?" ,也可以使用“[]”來確定字符范圍,但不能匹配"/"
同樣支持正則表達式 `<Directory ~ "^/srv/apache[0-9]{2}/html">`
#### Files和FilesMatch容器
Directory作用于文件,同樣支持**通配**和**正則表達式**
#### Location和LocationMatch容器
Location 的作用對象是URL
~~~
# 禁止所有cgi開頭的URL訪問
<Location /cgi>
Order Allow, Deny
Deny from all
</Location>
~~~
~~~
# 通過Location將請求映射到Apache模塊處理器上
<Location /server-status>
SetHandler server-status
</Location>
~~~
#### .htaccess文件 Allowoverride
在apache中,httpd.conf文件完成對服務器的配置,但.htaccess可以更精細化的控制目錄。使用Allowoverride來設置是否啟用.htaccess。
* All:使用所有能在.htaccess文件中使用的指令。
* AuthConfig:使用鑒權指令,如AuthName,AuthType
* FileInfo:使用控制文件指令,ErrorDocument/SetOutputFilter
* Indexes:使用目錄索引指令
* Options:使用目錄控制功能指令
* Limit:使用主機訪問控制指令
#### 容器的使用可能會帶來安全問題
假如使用localtion對/src/html進行了訪問限制,那么使用/Src/html,則可以跳過限制,正常訪問,因為超鏈接不區分大小寫
>[danger] 在新版httpd中,這個問題似乎已經解決,超鏈接已經區分大小寫了。
在linux系統中,文件或者目錄使用符號鏈接時,如果沒有使用Options禁止對符號鏈接的跟隨,也會產生安全問題,
### 目錄索引
#### mod_dir模塊
mod_dir實現了用戶指定索引文件功能,匹配順序從前至后。
~~~
DirectoryIndex index.html index.php
~~~
#### mod_autoindex模塊
mod_autoindex 模塊實現了對目錄的自動索引,當索引文件沒找到時,當啟用了這個模塊就會自動索引出一個目錄。
* IndexOptions
~~~
DescriptionWidth=[n|*] 定義表述列的寬度,單位是字符;-DescriptionWidth自動計算最佳寬度;n表示字符寬度,*顯示所有描述字符
FancyIndexing:啟用復雜索引,開啟后會顯示文件名,文件大小,修改時間,描述
FolderFirst:目錄靠前顯示,只有FancyIndexing啟用時才生效。
HTMLTable:以表格方式顯示索引。
IconsAreLinks:圖標可以點擊
NameWidth=[n|*]:文件名顯示字節數
TrackModified 將目錄加入高速緩存中
Charset=UTF-8 將字體設置為UFT8,
~~~
* AddIcon和DefaultIcon
~~~
AddIcon /icon/bin.gif .bin .exe
DefaultIcon /icons/unknown.gif
~~~
* IndexIgnore
隱藏指定的文件或者文件夾,可以使用通配符“*”,"?"
* IndexOrderDefault
設置默認的目錄索引順序,可以使用Ascending或者Descending來指定升序或者降序,
Name:文件名稱
Date:文件日期
Size:文件大小
Description:自定義說明
IndexOrderDefault Asending Size
- 目錄
- 離散的內容
- IO模型
- 網卡綁定
- ssh
- 硬件測試
- 硬件
- limits
- 網絡流量
- 硬盤IO
- 硬盤
- tmux
- 主機名和域名
- http_proxy
- iptables
- 內核參數
- 塊設備和字符設備
- 內存
- 虛擬內存并非交換分區
- 網絡延時
- 概念
- 多核壓縮
- linux基礎
- SSH協議
- 軟件管理
- yum
- 制作本地源 yum系列
- 制作本地源 apt系列
- apt
- 在 Linux 中移除從源代碼安裝的程序的一種簡單的方法
- 其他
- 源碼編譯和二進制安裝后更改配置
- DNS
- bind
- 守護進程
- 特殊權限
- limit.conf配置
- 網絡
- shell-ok
- 變量ok
- 數組ok
- 系統變量和環境變量
- 運算符和計算-ok
- 條件測試-ok
- 選擇-ok
- shell循環-ok
- 輸出echo和printf-ok
- 技巧-ok
- pre-web
- http協議
- web服務器
- Apache
- apache安裝
- yum安裝
- 二進制安裝
- 編譯安裝
- httpd命令
- 運行 監控apache
- apache配置文件
- 常用配置
- MPM多處理模塊
- 編譯模塊
- apache模塊
- apache核心模塊
- apache標準模塊
- apache第三方模塊
- 虛擬主機
- 1
- CGI-FastCGI-SSI
- 別名和重定向
- apache應用
- 301重定向
- apache防盜鏈
- http轉化為https
- 訪問時間段控制
- 控制訪問目錄
- 限制指定USER_AGENT
- 不同客戶端訪問不同網頁
- apache黑名單
- httpd之禁止解析php
- 不記錄css/js/img的訪問日志
- 瀏覽器端靜態緩存
- apache訪問日志自動切割
- order-require
- 壓縮傳輸
- httpd-ssl
- apache代理
- 正向代理
- 反向代理
- apache調優
- httpd壓力測試工具ab
- CGI測試
- php
- php原理
- httpd和php的結合方式
- php yum安裝之DSO模式
- php 編譯安裝之DSO模式
- php-fpm詳解
- php yum安裝之php-fpm模式
- php 編譯安裝之FastCGI模式
- php擴展之mysql
- php擴展之gd
- php擴展之pcntl
- php擴展之xcache
- php擴展之ZendGuardLoader
- phpMyAdmin
- wordpress
- 數據庫-mysql
- 數據庫原理
- mysql數據庫原理
- mysql源碼編譯安裝
- mysql二進制包安裝
- mysql命令行工具
- 更改密碼
- 數據庫授權grant
- mysql日志
- 命令
- 常用
- 小命令大作為
- awk 報告生成器
- 網絡命令
- 命令查找
- 壓縮歸檔命令
- 文件管理
- 文件管理命令
- 文件查看命令
- 目錄管理命令
- 用戶管理命令
- 用戶權限管理
- curl
- cheat
- chrony
- command
- crontab任務計劃
- cut
- date
- dd
- df
- echo
- find
- grep
- hash
- iftop
- kill pkill killall
- ls
- lsmod和modprobe
- lsof
- man
- mkpasswd
- mount
- mtr
- netstat
- nmap
- nc
- NTP
- passwd
- rm
- rdate
- pv
- sar系統活動情況報告
- sed文本處理命令
- setup
- screen
- shutdown
- sort 命令
- sudo
- tcpdump
- top
- uniq
- wget
- who
- xargs
- 監控
- zabbix郵件報警
- Redis
- redis安裝
- redis數據類型和操作方法
- redis持久化和配置
- redis主從配置
- php連接redis
- redis實現session共享
- 安裝測試
- redis設置密碼
- ELK日志分析系統
- elasticsearch
- logstash
- logstash插件
- filebeat日志收集
- kibana
- jenkins
- jenkins安裝與配置
- 案例1
- 案例2
- 案例3
- 代碼倉庫之svn
- svn服務端配置
- 常用操作
- svn備份
- LB集群
- LVS負載均衡集群
- ipvsadm使用方法
- LVS調度方法
- NAT原理
- NAT實踐
- DR原理
- DR實踐
- TUN原理
- LVS持久連接
- HA集群
- HPC集群
- 共享存儲
- ftp協議
- vsftpd
- NFS
- 網站架構發展
- 文件同步
- rsync基本用法
- rsync安裝和使用_拉取模式
- lsyncd安裝和用法
- zabbix
- zabbix服務端安裝
- zabbix客戶端安裝
- zabbix編譯安裝
- zabbix監控tomcat
- zabbix監控mysql
- gitlab
- supervisor
- nsq
- ruby
- nodejs
- consul
- mesos
- zookeeper
- rwho
- 對象存儲
- 工具
- rclone
- minio
- linux 性能調優
- CPU
- 第一部分 CPU
- 安全