<div dir="ltr"><div><div><div>Hello,<br><br></div>By checking the ngx_http_upstream I don't see any kind of handling in case the ngx_ssl_handshake returns NGX_ERROR, I am trying to catch this error in order to handle network outages and subsequent reconnections attempts from my module. Do you think this could be a good way to trigger reconnection timer? At the moment I am handling reconnections also in the read and write events when  if(wev->timedout || c->error || c->close).<br><br></div>Thanks<br></div>Antonio<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-09 14:16 GMT+01:00 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Wed, Mar 08, 2017 at 08:10:25PM +0100, Antonio Nappa wrote:<br>
<br>
> I am in the process of creating a module that connects to the outside to<br>
> exchange data with another service, I am taking as inspiration the<br>
> mail_module and the upstream module, basically my module is connecting<br>
> using the ngx_event_connect_peer and handling the read and write events<br>
> properly. I have 2 questions:<br>
><br>
> Is this the proper way to make a module connecting to the outside?<br>
<br>
</span>Yes.<br>
<span class=""><br>
> Would it be possible to use nginx primitives to connect through SSL?<br>
<br>
</span>To connect through SSL you sill have to use<br>
ngx_event_connect_peer(), and then have to use appropriate<br>
functions (ngx_ssl_create_connection(), ngx_ssl_handshake(), and<br>
so on) to initiate an SSL handshake.  Once handshake is complete,<br>
you can use the connection much like any other connection in<br>
nginx, using c->send(), c->send_chain() and so on.  Take a look on<br>
the ngx_http_upstream.c on how to do this properly.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
______________________________<wbr>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-devel</a><br>
</font></span></blockquote></div><br></div>