[Server] Let’s Encrypt with Certbot 指南

Intro Let’s Encrypt – Free SSL/TLS Certificates Certbot – Automatically enable HTTPS on your website with EFF’s Certbot, deploying Let’s Encrypt certificates 近年普遍使用Certbot做Let’s Encrypt憑證申請及自動續約。 快速申請 by Nginx 在單台Web server上使用Certbot快速對已設定的sites做申請,例如:Nginx on Ubuntu 16.04 (xenial) DNS認證申請 (LB佈署架構適用) 考慮Loading Balancing擴充性,如果要多台Nodes同時使用同一個憑證,就會回到單一Node申請佈署至Nodes上,這時使用DNS申請是比較好的選擇。 如不使用DNS Plugins,可以使用手動申請DNS Manual,指令如下: […]

[PHP] PHP-FPM Pool Socket (Multi-Sock-User) 設定指南

Intro 情境:想要某個Site的PHP-FPM改變執行使用者(例如Webhook trigger特殊程式) 設定方式 概念上,一個pool sock擁有一組設定,包含執行使用者(user)或群組(group),所以可以利用開立多個pool sock來提供給Web server多種PHP-FPM Conf達到應用。 1. 開立新的pool PHP-FPM Pool設定複製原始www.conf出新的自定義設定檔,將listen sock自定義改掉,讓var/run/php下自動產生新定義的socket,例如/etc/php/7.0/fpm/pool.d/deployer.conf: ; pool name (‘www’ here) [deployer] user = deployer group = www-data listen = /run/php/php7.0-fpm_deployer.sock 設定完後restart PHP-FPM即會自動生成對應的新Sock 2. 提供新的Socket給Web server site 以Nginx為例,換上新的Socket: location ~ \.php$ { […]

[AB] ApacheBench – 網站壓力測試工具

Intro ApacheBench壓力測試工具,Windows安裝XAMPP即Apache就有內建。 執行檔案 以Windows XAMPP為例,找到安裝目錄下Apache執行檔目錄: D:\xampp\apache\bin\ab.exe HTTPS傳輸 Windows XAMPP使用ab.exe測試HTTPS的網站會有錯誤: SSL not compiled in; no https support HTTPS協定是使用abs.exe執行: D:\xampp\apache\bin\abs.exe Linux的apache2-utils即等於abs.exe 使用方法 同時 10 個連線,連續訪問 100 次 (每個 Request 執行完後自動重連) ab -n 100 -c 10 http://www.example.com/ 同時 10 個連線,連續訪問 100 次,並且使用 Keep-Alive […]

[Web Server] Nginx/Apache 環境變數設定 (Environment Variables)

Intro Nginx/Apache 環境變數設定速查 Nginx設定 fastcgi_param RUNTIME_ENVIROMENT ‘DEV’ For example: server { listen 80; root /var/www/html; index index.php; server_name localhost; location / { index index.php; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param RUNTIME_ENVIROMENT ‘DEV’ } } Nginx 加入 […]

[Apache] CPanel & .htaccess & php.ini 應用指南

Intro CPanel的網頁伺服器是使用Apache搭建,可以支援.htaccess & php.ini的應用。 .htaccess 為Apache開啟AllowOverride後支援的檔案目錄設定檔功能,每個目錄皆能Override 以常見的轉導應用為例,.htaccess可參考以下: RewriteEngine On # 301 Redirect (Comment out) # redirect 301 / https://www.google.com # non-www redirect to www RewriteCond %{HTTP_HOST} ^yourname.com [NC] RewriteRule ^(.*)$ https://www.yourname.com/$1 [L,R=301] [Apache][.htaccess] 停用PHP – Disable PHP .htaccess file gives […]

[Server] TLS/SSL憑證(Certificate)指南 – 常用指令|製作CSR

SSL基本指令 | CSR 製作與設定 | 憑證檔案標準編碼格式 | SSL進階指令 | SSL安裝 | 交叉認證 Intro Public key certificate – 公開金鑰認證 – Wikipedia 認證原理 中英文通用名詞: Root certificate:根憑證 Intermediate certificate:中介憑證 / 中繼憑證 End-entity / leaf certificate:終端實體憑證 工具指令 詳細指令的可以參考: The Most Common OpenSSL Commands 申請憑證流程概念: […]

[Nginx] HTTP to HTTPS – 80 to 443 – 自動轉導

設定檔 這裡拿一個非Default的Site Host作範例。 添加80port的設定檔範例: server { listen 80; listen [::]:80; server_name code.yidas.com; return 301 https://$server_name$request_uri; } 至於原來的設定檔則由80改至443: #listen 80; #listen [::]:80; # SSL configuration # listen 443 ssl; listen [::]:443 ssl;