ssl證書及http2.0
阿新 • • 發佈:2018-03-20
https http2 需求:
1.用於https證書上線測試,辦公環境需要通過https測試網站,外部環境全部走http訪問。
2.使用web端進行配置
架構:
nginx +多個tomcat
1.用於https證書上線測試,辦公環境需要通過https測試網站,外部環境全部走http訪問。
2.使用web端進行配置
架構:
nginx +多個tomcat
upstream test { server 172.16.9.203:8080 weight=2; server 172.16.9.204:8080 weight=2; server 172.16.9.205:8080 weight=3; } server { listen 80; server_name www.test.com; location / { proxy_pass http://test/; proxy_read_timeout 300; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; if ($remote_addr !~ ^172\.16\.9\.226|172\.16\.9\.244) { # rewrite ^(.*) https://$host$1 permanent; return 302 https://www.test.com$request_uri; # error_page 400 https://$host$uri?$args; } } } server { listen 443; server_name www.test.com; ssl on; ssl_certificate /etc/nginx/conf/key/server.pem; ssl_certificate_key /etc/nginx/conf/key/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; ssl_prefer_server_ciphers on; location / { proxy_pass http://test/; proxy_read_timeout 300; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico|js|css)$ { # root /data/tomcat/webapps; # expires 1d; # } access_log /var/log/nginx/www.test.com.access.log main; #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local /nginx/html; } #location ~ /\.ht { # deny all; #} }
需要測試是否成功,一般來說一定會成功,這裏我們做的是302臨時跳轉,如果做永久跳轉可以看註釋的部分。
如果前端有CDN
需要這樣配置(日誌配置main中需要根據CDN供應商返回給的HTTP_X_FORWARDED_FOR來進行配置)
由於,加證書會帶來系統資源的消耗和寬帶的消耗,同時傳輸性能有影響,所以一般加https後,都采用http2.0協議進行通信(http2.0,nginx需要編譯--with-http_v2_module,這個性能方面需要測試,這僅是我的個人猜測。要想了解更多,請查閱http2.0協議)
ssl證書及http2.0