diff --git a/app/proxyman/outbound/handler.go b/app/proxyman/outbound/handler.go index c81db1bae..6574ea046 100644 --- a/app/proxyman/outbound/handler.go +++ b/app/proxyman/outbound/handler.go @@ -66,13 +66,11 @@ func NewHandler(ctx context.Context, config *proxyman.OutboundHandlerConfig) (*H func (h *Handler) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) { err := h.proxy.Process(ctx, outboundRay, h) // Ensure outbound ray is properly closed. - if err != nil { + if err != nil && errors.Cause(err) != io.EOF { log.Warning("Proxyman|OutboundHandler: Failed to process outbound traffic: ", err) - if errors.Cause(err) != io.EOF { - outboundRay.OutboundOutput().CloseError() - } else { - outboundRay.OutboundOutput().Close() - } + outboundRay.OutboundOutput().CloseError() + } else { + outboundRay.OutboundOutput().Close() } outboundRay.OutboundInput().CloseError() }