技術筆記 Blog

大數據、容器化、虛擬化、AI 與系統管理技術筆記

View on GitHub

Web 網頁伺服器

網頁伺服器、反向代理和應用伺服器相關技術。

📁 內容

Nginx 反向代理

Nginx 反向代理伺服器

Nginx + Tomcat SSL

Nginx 反向代理 Tomcat 並啟用 SSL

WebSphere Liberty

IBM WebSphere Liberty 應用伺服器

🎯 使用場景

反向代理

應用伺服器

靜態內容服務

🚀 快速開始

Nginx 反向代理

# 建置映像
docker build -t nginx-proxy:latest nginx-reverse-proxy/

# 執行容器
docker run -d -p 80:80 -p 443:443 nginx-proxy:latest

Nginx 配置範例

upstream backend {
    server backend1:8080;
    server backend2:8080;
    server backend3:8080;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

SSL 配置

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://backend;
    }
}

WebSphere Liberty

# 建置映像
docker build -t liberty:latest websphere-liberty/

# 執行容器
docker run -d -p 9080:9080 -p 9443:9443 liberty:latest

🔧 核心功能

Nginx 特性

負載平衡演算法

SSL/TLS

📊 效能優化

Nginx 優化

# Worker 進程數
worker_processes auto;

# 連接數限制
worker_connections 1024;

# 啟用 Gzip 壓縮
gzip on;
gzip_types text/plain text/css application/json;

# 快取配置
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;

快取策略

🛡️ 安全建議

Nginx 安全

  1. 隱藏版本資訊
  2. 限制請求大小
  3. 防止 DDoS
  4. 設定速率限制
  5. 啟用 HTTPS

SSL 最佳實踐

  1. 使用強加密套件
  2. 啟用 HSTS
  3. 定期更新憑證
  4. 禁用舊協議
  5. 實施 OCSP Stapling

📚 相關資源


高效能網頁服務