Category: Apache / Nginx

Apache 設定忽略檔案字母大小寫

在 Unix Like 的作業系統, 檔案及目錄名稱的英文字母大小寫有分別, 而在 Windows 內則沒有分別, 所以有些網頁放在 Windows 主機上可以正常瀏覽, 而放到 Linux 上便會出現連結失效, 或者圖片, CSS, Javascript 不能載入等問題。例如這樣一個超連結:〈a href=’Filename.htm’〉links〈/a〉在 Windows 下, 只要檔案符合連結內的字母, 不會區分大小寫, 所以如果檔案名稱是 “filename.htm” 可以正確瀏覽, 而在 Linux 下相同情況便會出現連結失效。如果未能將網頁內容一一修正, 可以設定 …

Apache 動態管理 VirtualHost

VirtualHost 可以讓多個網站在一台主機上運行, 一般上每個 VirtualHost 都需要加入一段 “ “, 然後設定 ServerName, ServerAlias 及 DocumentRoot, 例如有兩個網址, 分別是 www.mydomain.com 及 blog.mydomain.com, 在 httpd.conf 部份要加入類似這樣的設定:另一種方法是動態設定 VirtualHost, 以上面的例子, 可以用一段 設定。首先開啟 httpd.conf: # vi /etc/httpd/conf/httpd.conf 將上面兩個 VirtualHost …

Apache 設定 http 自動轉址導向 https

當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動轉址到 https,可以通過修改 .htaccess 設定mod_rewrite,或者直接編譯 httpd.conf 實現,以下是兩種方法的設定步驟。.htaccess 例如我想將所有訪客重新導向 https 相應的頁面,只要在 .htaccess 設定即可:修改後便會生效,不用重新啟動 Apache.httpd.conf 在 httpd.conf 找到 http 的相關 virtualhost, 在段落最後加上以下一行: Redirect permanent / https://www.phpini.com 修改後需要重新啟動 …

Apache 開啟 .htaccess 設定

.htaccess 檔案是目錄層面的設定檔, 可以對目錄變更 Apache 的設定, 例如更改 DocumentIndex, 轉址及密碼保護等在 httpd.conf 的設定。要使用 .htaccess 檔案, 需要在 Apache 的設定檔 (httpd.conf 或 apache2.conf) 開啟使用, 否則 Apache 是不會處理 .htaccess 的設定的。開啟 .htaccess, 首先開檔 Apache 的設定檔Redhat, CentOS 及 …

解決 Nginx 錯誤: 413 Request entity too large

在 Nginx 下如果用 PHP 上傳檔案時, 有時會出現以下報錯:Nginx 413 Request Entity Too Large出現 Error 413 的原因是訪客瀏覽網頁時, 傳送過多的 HTTP 請求, 一般在上傳檔案時出現, 解決方法是修改 Nginx 的 上傳限制, 這個可以透過 Nginx 的 client_max_body_size 設定。client_max_body_size 是用作設定訪客最多可以傳送多少資料, 如果訪客傳送到 Nginx …

Apache 限制 IP 存取

Apache 內建了限制 IP 存取的功能, 可以設定成禁止某些 IP 不能存問, 或者只允許特定 IP 存取, 以下會以 Apache 2.4 為例, 設定 Apache 的存取限制。以下假設 /var/www/html/members 目錄, 只允許特定 IP (192.168.1.100 及 192.168.1.101) 存取, 可以透過修改 httpd.conf 或 .htaccess, 以下會以修改 …

找出存取 Apache 最多的 IP 地址

一台開放的網頁伺服器內, 除了正常的訪問外, 也包括其他像 Search Engine Bots 及惡意攻擊的連接, 這些連接資料都儲存在 Apache 的紀錄檔內。要找出存取 Apache 最多的 IP 地址, 可以透過 awk, sort, uniq 及 head 指令完成。Apache 預設的紀錄檔位置是:/var/log/httpd/access_log /var/log/apache2/access_log以下指令會找出紀錄檔內, 連線數量最多的 10 個 IP:如果不是要找出最高連線數的 10 個 IP, …

RHEL / CentOS 下 Apache, PHP 及 MySQL 的預設安裝目錄

在 RHEL 及 CentOS 透過 YUM 或 RPM 安裝的套件, 其預設安裝目錄跟編譯安裝有所不同, 以下是 Apache, PHP 及 MySQL (MariaDB) 在 RHEL 及 CentOS 的預設安裝目錄及設定檔位置:Apache:預設安裝目錄: /etc/httpd/ DocumentRoot: /var/www/html/ httpd.conf 路徑: /etc/httpd/conf/httpd.confPHP:php.ini 路徑: /etc/php.ini PHP …