Ich habe eine neue OSX-Maschine, auf der Mavericks läuft, und bin in einer interessanten Situation, wenn ich auf rubygems.org zugreife.
Als normaler Benutzer:
$ curl http://rubygems.org|head
curl: (7) Failed connect to rubygems.org|head:8080; Connection refused
Aber mit sudo:
$ sudo curl http://rubygems.org |head
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9181 0 9181 0 0 6847 0 --:--:-- 0:00:01 --:--:-- 6851
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="google-site-verification" content="AuesbWQ9MCDMmC1lbDlw25RJzyqWOcDYpuaCjgPxEZY" />
<link rel="apple-touch-icon" href="/touch-icon-iphone.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/touch-icon-iphone4.png" />
<link rel="fluid-icon" href="/fluid-icon.png"/>
<link rel="search" type="application/opensearchdescription+xml" title="RubyGems.org" href="/opensearch.xml">
Ich habe das noch nie zuvor gesehen – warum wechselt es als Benutzer zu 8080? Wie kann ich das beheben?
Antwort1
Vielleicht ist in der Benutzerumgebung ein Proxyserver konfiguriert? Ich würde zunächst „set|grep 8080“ ausführen, um zu sehen, ob eine Variable 8080 enthält. Außerdem scheint das Pipe-Zeichen von Bash nicht erkannt worden zu sein, da Curl |head als Teil des Hostnamens zu sehen scheint. Ist das wiederholbar? Passiert es sogar mit einem Leerzeichen um das Pipe-Zeichen (nein, das sollte nicht notwendig sein, aber wenn es den Fehler ändert, könnte es aufschlussreich sein). Wurde der ursprüngliche Befehl von etwas kopiert, sodass das Pipe-Zeichen tatsächlich ein anderes Nicht-ASCII-Zeichen sein könnte?