Category: Apache / Nginx

Apache 限制上載容量大小

想要透過 Apache 實現上載限制, 可以通過限制 HTTP 請求的大小來實現, 並根據需要對個別目錄、檔案或位置進行限制。 例如要設定 /var/www/html/uploads 目錄的上載限制為 5MB, 可以在 httpd.conf 或 .htaccess 加入以下設定, 以下是 httpd.conf 的預設位置: RHEL / CentOS: # vi /etc/httpd/conf/httpd.conf Debian / Ubuntu: # …

Apache 安裝 mod_cband 限制 VirtualHost 及 IP 頻寬

當 Apache 其中一個 Virtual Host 佔用資源過多時,會拖慢整台伺服器所有網站的速度,這時可以安裝 mod_cband 模組,限制個別虛擬主機可以佔用的連線數量及頻寬,以下會示範在 CentOS 7 安裝 mod_cband 模組: 要安裝 mod_cband,需要先安裝 httpd-devel: # yum install httpd-devel 然後可以下載 mod_cband 及編譯安裝: # cd /usr/local/src # wget https://github.com/maiha/mod_cband/archive/master.zip …

Nginx 設定 http 自動導向 https

當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動導向到 https 頁面,以下是 Nginx 設定 http 自動轉址到 https 連線的設定方法。 以下假設網站域名是 mydomain.com, 會將所有 http 的連線自動導向到 https 的頁面, 另外會將沒有 www 的連線自動導向到 www 的網頁: 加入以下三個 block, …

Apache 編譯錯誤 – cannot install ‘libaprutil-1.la’ to a directory

今天編譯安裝 Apache, Apache 的預設安裝目錄是 /usr/local/apache2, 但我將它安裝到 /usr/local/apache, 但在編譯時出現以下錯誤: 原因可能是之前編譯 Apache 時, 有一些紀錄是安裝到 /usr/local/apache2 所致, 解決方法是有兩個: 1. 執行 make clean 指令, 再重新編譯。 2. 將原始碼的目錄刪除, 再重新解壓 Apache 的源始碼, 再進行編譯安裝即可。

Apache log 的 internal dummy connection

當開啟 Apache 的 access_log 查看裡面的內容,查詢記錄內簡中會看到一堆 “internal dummy connection” 的記錄: ::1 – – “OPTIONS * HTTP/1.0” 200 – “-” “Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 (internal dummy connection)” 根據 Apache 官方的說明, 這是 …

Apache httpd 設定預設首頁

Apache 設定了 DirectoryIndex 後, Apache 會自動開啟目錄下的相應頁面, 例如: DirectoryIndex index.html index.htm index.php 如果沒有 DirectoryIndex 設定的頁面, 會顯示 403 Forbidden 或者顯示所有檔案。 用 YUM 安裝好 httpd 後, 如果網頁根目錄沒有 DirectoryIndex, 預設會出現一個 “Testing 123” 的頁面, …

Nginx 設定 WordPress Rewrite 固定連結

WordPress 是目前最流行的 Blog CMS, 原本每個網址後面會加上 “?p=xxx” 作為識別文章, 而 WordPress 的固定連結功能可以自訂網址。Wordpress 內建的 .htaccess 檔案已經做好 Rewrite 的設定, 但如果網頁伺服器是用 Nginx, 就不可以用這個 .htaccess 了, 以下是在 Nginx 設定 WordPress Rewrite 固定連結的方法。 首先開啟網站的 .conf 檔案, …

Apache Log 儲存到 MySQL

Apache 預設會將 Log 記錄檔儲存到文字檔,一般會在 logs/ 目錄,或者 /var/log/httpd/ 目錄。將 Apache Log 儲存到 MySQL 除了可以方便過濾記錄檔內資訊外,也可以實現多個 Apache Log 集中管理。 以前試過自己寫 Shell Script 將 Log 插入 MySQL,但原來已經有 Apache Module 可以做這件事,十分方便。以下是 Apache 設定將 Log …