Found the issue,
Turned out that there were some missing fastcgi_param in the config
now the params are:
fastcgi_split_path_info ^(/hg)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root/hgweb.cgi;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param AUTH_USER $remote_user;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
and this one is really important
fastcgi_param REQUEST_METHOD $request_method;
to avoid the error : "abort: HTTP Error 405: push requires POST request" when using SSL.
And with this I can browse the mercurial repository