ssl for free 能夠免費爲咱們提供三個月的 ssl 證書及續簽服務,填寫業務域名,上傳驗證文件到業務服務器,驗證成功後便會生成相應的證書.crt和私鑰.key,提供一次性下載,從新生成,銷燬及續簽服務。php
配置以下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 並不能對抗 DDOS/CC 攻擊,它只是在 CDN 的基礎上同時加速上行請求:選用更爲暢通和高速的網絡通道傳輸客戶端向服務器端發送的請求,適合動態類數據的請求(web service)。算法
一、建立業務域名 api.foo.com 下的 SCDN 規則,得到加速域名。
二、CNAME 解析業務域名到相應的 SCDN 規則提供的加速域名。
三、配置回源方式(業務域名|源站域名|自定義域名),這裏咱們選業務域名,咱們業務服務器也應一致監聽此業務域名。
四、配置 HTTPS 填寫申請的證書及私鑰開啓 HTTPS 訪問,可配置是否重定向 HTTP 請求至 HTTPS。後端
五、保存生效api
如此業務域名將被解析至全站加速CDN,然後 SCDN 回源請求給隱藏在後方的業務服務器,攻擊者沒法發現真實的業務服務器IP。服務器