Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encryption support on out_forwarder plugin in Windows (Fluentd 1.0.2) #1968

Closed
aturri opened this issue May 2, 2018 · 1 comment · Fixed by #2398
Closed

Encryption support on out_forwarder plugin in Windows (Fluentd 1.0.2) #1968

aturri opened this issue May 2, 2018 · 1 comment · Fixed by #2398

Comments

@aturri
Copy link

aturri commented May 2, 2018

Hi,
is TLS/SSL supported by Fluentd embedded forwarder plugin in Windows?

I'm trying to push logs from Windows and Linux machines to a Fluentd server (Linux).
Linux machines can successfully send logs to the server with TLS.
Windows machines, instead, cannot send logs to the server, when configured with TLS. Both client and server say "connection established" when a buffer is flushed to the server, the buffer on the client gets erased, but the server receives nothing. I've tried to disable TLS on both client and server and communication works properly. I've tried to provide the client a forged certificate and it gives an OpesSSL error. But in my case there is no error and the server cannot receive logs.

I'm using Fluentd v1.0.2 for server and Linux client, td-agent v.3.1.1 for Windows clients (which is based on Fluentd v1.0.2).

Server configuration is:

<source>
  @type forward
  port 24224
  bind 0.0.0.0
  <transport tls>
    cert_path /certs/fluentd.crt
    private_key_path /certs/fluentd.key
    private_key_passphrase xxxx
  </transport>
</source>

Windows client configuration is:

<match xxx.**>
  @type forward
  transport tls
  tls_cert_path C:\certs\fluentd.crt
  tls_verify_hostname false
  tls_allow_self_signed_cert true
  <server>
    host xxxx
    port 24224
  </server>
</match>

Linux clients configuration is the same (except tls_cert_path).

Options

  tls_verify_hostname false
  tls_allow_self_signed_cert true

are necessary in my local (test) environment.

@repeatedly
Copy link
Member

Tests for forward plugin with TLS on Windows is succeeded.
So the basic functionality should work but I'm not familiar with Windows network and OpenSSL limitation.
Need Windows expert help.

cosmo0920 added a commit that referenced this issue Mar 9, 2020
[The previous commit](7d16531) solved linger_timeout member types glitch.
In the previous linger_timeout behavior is always occurring dropping data.
But the fixing member type glitches, Fluentd can handle linger_timeout on Windows.
This type glitch causes overflow and then linger_timeout should be 0.
So, this is why specifying linger_timeout causes data loss on Windows.

LIBC: { int l_onoff; int l_linger; } # I!I!
Winsock: { u_short l_onoff; u_short l_linger; } #S!S!

Really fixes for #1968.
Reverted #2398

Signed-off-by: Hiroshi Hatake <hatake@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants