從網(wǎng)絡營銷角度做網(wǎng)站seo外包服務方案
備考ICA----Istio實驗12—配置雙向TLS Istio Ingress Gateway實驗
本實驗部分配置延續(xù)上個Istio實驗11
1. 重新配置secret
重新配置secret使其帶有ca證書可以驗證客戶端證書是否合法
先刪除原有secret,再配置新的secret
# 刪除原tls類型的secret
kubectl -n istio-system delete secret pana-credential
# 重新創(chuàng)建secret,帶有ca的證書
kubectl create secret -n istio-system generic pana-credential \
--from-file=tls.key=example_certs_pana/pana.example.com.key \
--from-file=tls.crt=example_certs_pana/pana.example.com.crt \
--from-file=ca.crt=example_certs_root/example.com.crt
# 確認secret被正確創(chuàng)建
kubectl get secrets -n istio-system
2. Gateway配置
將Gateway設(shè)置為MUTUAL模式
mode: MUTUAL
tls-ingress/pana-tls-gateway-mutual.yaml
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:name: mygateway
spec:selector:istio: ingressgateway # use istio default ingress gatewayservers:- port:number: 443name: panaprotocol: HTTPStls:mode: MUTUALcredentialName: pana-credential # must be the same as secrethosts:- pana.example.com
更新部署gateway
kubectl apply -f tls-ingress/pana-tls-gateway-mutual.yaml
3. 測試
3.1 沒有客戶端證書訪問測試
curl -v -HHost:pana.example.com --resolve "pana.example.com:443:192.168.126.220" \
--cacert example_certs_root/example.com.crt "https://pana.example.com:443/hello"
3.2 生成客戶端證書
mkdir example_certs_client
# 生成key和證書請求文件
openssl req -out example_certs_client/client.example.com.csr -newkey rsa:2048 \
-nodes -keyout example_certs_client/client.example.com.key \
-subj "/CN=pana.example.com/O=client organization"
# 使用ca簽發(fā)證書,用于區(qū)別其他證書這里有效期設(shè)置成2年
openssl x509 -req -sha256 -days 730 -CA example_certs_root/example.com.crt \
-CAkey example_certs_root/example.com.key \
-set_serial 1 -in example_certs_client/client.example.com.csr \
-out example_certs_client/client.example.com.crt
這樣就在example_certs_client目錄下生成了3個文件
3.3 使用client證書再次訪問
帶上客戶端證書再次訪問測試
curl -v -HHost:pana.example.com --resolve "pana.example.com:443:192.168.126.220" \
--cacert example_certs_root/example.com.crt \
--cert example_certs_client/client.example.com.crt \
--key example_certs_client/client.example.com.key \
"https://pana.example.com:443/hello"
通過之前定義的vs將請求轉(zhuǎn)到了helloworld的后端
此時由于帶了客戶端證書,并且可以通過ca進行驗證通過.這樣就不再報錯了
至此備考ICA----Istio實驗12—配置雙向TLS Istio Ingress Gateway實驗完成.