Request by domain name between services return 404

I got a namespace with istio(1.6.8) auto-injection enabled, App-A and App-B are both in this namespace, App-A send post request to App-B to register itself, by using domain name “register.a.com”. This domain name point to App-B’s serivce ClusterIP(in my case is “10.79.229.193”) through kubernetes “hostAliases”. App-A always get 404 after sending request.

In App-A’s pod, trying to send a post request to “register.a.com” using curl return 404, but by replacing this domain name with “10.79.229.193”, it’s all good.

It does has “Gateway” and “VirtualService” configuration, but those are for traffic from outside into the mesh, right?

Dose traffic between services in mesh naturally allowed? or I should configure about it?

And I’m working on ServiceEntry, but it didn’t work, I know ServiceEntry mostly use for “external service” that we’d like to manage by istio, but how to achieve this?
2020-11-17_173118

apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: oa-register
spec:
hosts:
- register.a.com
ports:
- number: 8761
name: oa-register
protocol: HTTP
location: MESH_INTERNAL
resolution: STATIC
endpoints:
- address: 10.79.229.193

Dose anyone know how to figure this out?

Does anyone has a clue?