Service file
spec:
containers:
- image: infra/zap-proxy
name: zap
command: ["zap.sh", "-daemon", "-port", "8090", "-host", "0.0.0.0", "-config", "api.disablekey=true", "-config", "api.addrs.addr.name=.*", "-config", "api.addrs.addr.regex=true"]
imagePullPolicy: IfNotPresent
ports:
-
containerPort: 8090
apiVersion: v1
kind: Service
metadata:
name: zap-proxy-service
namespace: infra
labels:
name: zap
spec:
type: NodePort
ports:
- port: 8090
nodePort: 30103
protocol: TCP
selector:
name: zap
curl http://localhost:8090/json/core/view/sites
ZAP Error [java.net.ConnectException]: Connection timed out (Connection timed out) Stack Trace: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:286) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) at org.apache.commons.httpclient.HttpConnection.open(Unknown Source) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown Source) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown Source) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.parosproxy.paros.network.HttpSender.executeMethod(Unknown Source) at org.parosproxy.paros.network.HttpSender.runMethod(Unknown Source) at org.parosproxy.paros.network.HttpSender.send(Unknown Source) at org.parosproxy.paros.network.HttpSender.sendAuthenticated(Unknown Source) at org.parosproxy.paros.network.HttpSender.sendAndReceive(Unknown Source) at org.parosproxy.paros.network.HttpSender.sendAndReceive(Unknown Source) at org.parosproxy.paros.core.proxy.ProxyThread.processHttp(Unknown Source) at org.parosproxy.paros.core.proxy.ProxyThread.run(Unknown Source) at java.lang.Thread.run(Thread.java:745)
3. http://host:port/OTHER/core/other/htmlreport on other browser not connected to proxy results in timeout
"-config", "api.addrs.addr.name=.*", "-config", "api.addrs.addr.regex=true"
Problem solved, thanks for all the help, shamefully it has nothing to do with ZAP and more to do with my lack of understanding around Kubernetes,
ports:
- port: 8090
targetPort: 8090
nodePort: 30103
protocol: TCP
externalIPs:
--type=NodePort
kubectl describe services example-service
Name: example-service
Namespace: default
Labels: run=load-balancer-example
Selector: run=load-balancer-example
Type: NodePort
IP: 10.32.0.16
Port: <unset> 8080/TCP
NodePort: <unset> 31496/TCP
Endpoints: 10.200.1.4:8080,10.200.2.5:8080
Session Affinity: None
kubectl describe services zap-proxy-service
Name: zap-proxy-service
Namespace: default
Labels: app=zap-proxy
Annotations: <none>
Selector: app=zap-proxy
Type: NodePort
IP: 10.35.251.33
Port: <unset> 8070/TCP
NodePort: <unset> 30103/TCP
Endpoints: 10.32.1.5:8070
Session Affinity: None
Events: <none>