Continuez la discussion à partir de Les mises à jour récentes semblent avoir arrêté la tâche rake themes:update pour utiliser un serveur proxy :
Je n’arrivais pas à récupérer ou à mettre à jour de composant de thème à cause de cette erreur de délai d’attente, j’ai finalement trouvé la solution. Supprimer les lignes suivantes commençant par - dans le fichier \u003cDiscourse\u003e/lib/theme_store/git_importer.rb :
def clone_http!
uri = redirected_uri
raise_import_error! if %w[http https].exclude?(@uri.scheme)
- addresses = FinalDestination::SSRFDetector.lookup_and_filter_ips(uri.host)
- raise_import_error! if addresses.empty?
env = { "GIT_TERMINAL_PROMPT" => "0" }
args =
clone_args(
uri.to_s,
- "http.followRedirects" => "false",
- "http.curloptResolve" => "#{uri.host}:#{uri.port}:#{addresses.join(\",\")}",
)
begin
Discourse::Utils.execute_command(env, *args, timeout: COMMAND_TIMEOUT_SECONDS)
rescue RuntimeError
raise_import_error!
end
end
Ce code traite une pré-résolution DNS puis force git à utiliser les adresses IP obtenues à partir de la pré-solution, je ne sais pas pourquoi cela échouait toujours sur mon serveur, alors j’ai supprimé la logique.
En fait, j’ai une question sur son existence, git effectue lui-même une résolution DNS, pourquoi avons-nous besoin de cette logique ? Ce n’est pas distinct.