Consul injected pods are unable to send requests to their own service

I have a deployment with 6 pods. All pods in the deployment are pointed at by one service. The pods sometimes send curl requests to their own service, which one of the pods in the deployment would respond to. This functionality works without a service mesh, as well as with Istio and Linkerd. However, when I attempt to run this using Consul, it fails.

I have the following pods:

kubectl get pods
NAME                                    READY   STATUS    RESTARTS   AGE
counter-5d5fdcb75c-ml2tx          2/2     Running   0          17h
counter-5d5fdcb75c-rs6cv          2/2     Running   0          17h
counter-5d5fdcb75c-sv692          2/2     Running   0          17h
counter-5d5fdcb75c-wkzw9          2/2     Running   0          17h
counter-5d5fdcb75c-xcqqp          2/2     Running   0          17h
counter-5d5fdcb75c-xhscb          2/2     Running   0          17h
request-generator-584977dc7f-9hsn4      2/2     Running   0          17h

and the following Services:

kubectl get services
$ kubectl get services
NAME                           TYPE           CLUSTER-IP     EXTERNAL-IP                                PORT(S)   AGE
kubernetes                     ClusterIP      <none>                                            443/TCP   25h
counter-service          ClusterIP    <none>                                            80/TCP    21h
request-generator-service      ClusterIP   <none>                                            80/TCP    25h

I can ssh into the pods and they can curl pods from another service, however, they cannot curl themselves. I even tried using their IP address but that would not work either.

SSH into the counter

$ kubectl exec --tty --stdin counter-5d5fdcb75c-ml2tx -- /bin/bash
Defaulted container "counter" out of: counter, consul-dataplane, consul-connect-inject-init (init)
root@counter-5d5fdcb75c-ml2tx:/ConsulTest# curl http://request-generator-service/home
I am the load generator. I use apache ab to send multiple requests to the counter. 
root@counter-5d5fdcb75c-ml2tx:/ConsulTest# curl http://counter-service/home
curl: (52) Empty reply from server
root@counter-5d5fdcb75c-ml2tx:/ConsulTest# curl
I am the load generator. I use apache ab to send multiple requests to the micro-counter simulating a different number of concurrent users, requests per user, and micro-services to be pinged per request. 
root@counter-5d5fdcb75c-ml2tx:/ConsulTest# curl
curl: (52) Empty reply from server

SSH into the generator

$ kubectl exec --tty --stdin request-generator-584977dc7f-9hsn4 -- /bin/bash
Defaulted container "request-generator" out of: request-generator, consul-dataplane, consul-connect-inject-init (init)
root@request-generator-584977dc7f-9hsn4:/ConsulTest# curl http://counter-service/home
I am the counter, when reached and provided with a value, I will increase my internal counter to that value.
root@request-generator-584977dc7f-9hsn4:/ConsulTest# curl http://request-generator-service/home
curl: (52) Empty reply from server

This is my manifest for the counter

apiVersion: v1
kind: Service
  name: counter-service
    app: counter
  - protocol: TCP
    port: 80
    targetPort: 5000
apiVersion: apps/v1
kind: Deployment
  name: counter
    app: counter
  replicas: 6
      app: counter
    type: RollingUpdate
      maxSurge: 3
      maxUnavailable: 0
        app: counter
        '': 'true'
      - name: counter
        image: counter:1.0
        imagePullPolicy: Never
        - containerPort: 5000

It seems like consul-injected pods can send requests to other services, but cannot send a request to their own service. Is there anyway to resolve this?