matched policy none. this means none of the policies are matched for the current request and it is rejected by default, this is because you used the ALLOW action in the policy which means only requested matched will be allowed.
Are you trying to match the IP in 'x-forwarded-for', '10.123.45.111'? Please make sure you followed the task Istio / Ingress Gateway, especially the numTrustedProxies configuration part.
If 10.123.45.111 is not the original client IP address which should be allowed, there is some details on configuring numTrustedProxies Istio / Configuring Gateway Network Topology
I created some resource by the guide above. I got nothing when did this step:
export GATEWAY_URL=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $GATEWAY_URL
This command returned
$ kubectl -n istio-system get service istio-ingressgateway
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-ingressgateway NodePort 170.10.123.110 <none> 15021:32174/TCP,80:30481/TCP,443:30370/TCP,31400:30700/TCP,15443:31837/TCP 21h
I also can’t get CLIENT_ID by this command
$ CLIENT_IP=$(kubectl get pods -n istio-system -o name -l istio=ingressgateway | sed 's|pod/||' | while read -r pod; do kubectl logs "$pod" -n istio-system | grep remoteIP; done | tail -1 | awk -F, '{print $4}' | awk -F: '{print $2}' | sed 's/ //') && echo "$CLIENT_IP"