上線 HTTPS 服務 / 反向代理 LB / 隱藏業務IP

ssl 證書免費申請

ssl for free 能夠免費爲咱們提供三個月的 ssl 證書及續簽服務,填寫業務域名,上傳驗證文件到業務服務器,驗證成功後便會生成相應的證書.crt和私鑰.key,提供一次性下載,從新生成,銷燬及續簽服務。php

clipboard.png

Nginx 配置 HTTPS / 負載均衡

配置以下css

注意:在upstream中加入hash語句。server語句中不能寫入weight等其餘的參數,hash_method是使用的hash算法。html

upstream upstream_server_api {
    #ip_hash; 同一請求ip發往同一負載
    #fair; 按後端服務器的響應時間來分配請求,響應時間短的優先分配
    #--url_hash-- 按訪問url的hash結果來分配請求,使每個url定向到同一個後端服務器
    #hash $request_uri;
    #hash_method crc32;
    #--url_hash--
    server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=30s;#權重1 失敗3此後暫停30s
    server 127.0.0.1:8082 weight=2 max_fails=3 fail_timeout=30s;#權重2 失敗3此後暫停30s
    server 127.0.0.1:8083 backup;# 當其餘服務器不可用或全忙時啓用
    server 127.0.0.1:8084 down;# 服務下線
}
server {
    listen 443 ssl default;
    server_name api.foo.com;
    index index.html index.htm index.php;
    root /home/wwwroot/web;
    ...
    
    ssl on;
    ssl_certificate     /opt/nginx_ssl/certificate.crt;
    ssl_certificate_key /opt/nginx_ssl/private.key;
    ssl_session_timeout 5m;
    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
    
    ...
    
    # 若是是靜態請求 nginx 負責處理 不然轉發給後端服務器location 處理動態請求
    # 你能夠根據本身的業務定義相應的轉發規則
    location / {
        try_files $uri $uri/ @loc_server_api;
    }
    
    # 後端服務器location則反向代理給後端服務
    location @loc_server_api {
        proxy_set_header Host $proxy_host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://upstream_server_api;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires      30d;
    }

    location ~ .*\.(js|css)?$ {
        expires      12h;
    }

    location ~ /\. {
        deny all;
    }

}

若是須要重定向 http 到 https 可以使用以下配置nginx

server {
    listen 80 default;
    server_name api.foo.com;
    #重定向http至https
    return 301 https://api.foo.com;
}

檢查配置後重啓服務便可web

nginx -t
systemctl restart nginx.service

利用阿里雲 SCDN 全站加速隱藏業務服務器 IP

全站加速 SCDN 並不能對抗 DDOS/CC 攻擊,它只是在 CDN 的基礎上同時加速上行請求:選用更爲暢通和高速的網絡通道傳輸客戶端向服務器端發送的請求,適合動態類數據的請求(web service)。算法

一、建立業務域名 api.foo.com 下的 SCDN 規則,得到加速域名。
二、CNAME 解析業務域名到相應的 SCDN 規則提供的加速域名。
三、配置回源方式(業務域名|源站域名|自定義域名),這裏咱們選業務域名,咱們業務服務器也應一致監聽此業務域名。
四、配置 HTTPS 填寫申請的證書及私鑰開啓 HTTPS 訪問,可配置是否重定向 HTTP 請求至 HTTPS。後端

clipboard.png
五、保存生效api

如此業務域名將被解析至全站加速CDN,然後 SCDN 回源請求給隱藏在後方的業務服務器,攻擊者沒法發現真實的業務服務器IP。服務器

相關文章
相關標籤/搜索