Continúe la discusión de Recent updates seemed to stop rake task themes:update to use a proxy server:
No pude obtener ni actualizar ningún componente de tema debido a ese error de tiempo de espera, finalmente lo descubrí. Eliminando las siguientes líneas que comienzan con - en el archivo \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
Este código procesa una pre-solución de DNS y luego fuerza a git a usar las direcciones IP que se obtienen de la pre-solución, no sé por qué siempre fallaba en mi servidor, así que eliminé la lógica.
De hecho, tengo una pregunta sobre su existencia, el propio git realiza una solución de DNS, ¿por qué necesitamos esta lógica? Esto no es distinto.