Stellen Sie sicher, dass die URL auf den lokalen Ordner verweist

9

Ich habe eine URL, die auf meinem Ubuntu 16.04-Computer einem lokalen Ordner zugeordnet werden soll.

ZB muss ich https://domainxxx.xxxdarauf hinweisen /home/user/folder.

Mein spezielles Bedürfnis ist es, domainxxx.xxx/file.jsnicht als echte 'file.js' auf dem Remote-Server, sondern als /home/user/folder/file.jswelche auf meinem Computer zu sein.

Ich habe gelesen, dass dies mit einem Eintrag in nicht möglich ist /etc/hosts. Wie kann ich das machen?

user1403546
quelle
Meinen Sie mit "zugeordnet", dass der Besuch von domainxxx.xxx den gleichen Effekt haben sollte wie der Besuch von file: /// home / user / folder?
fkraiem
Mein spezielles Bedürfnis ist es, domainxxx.xxx/file.js nicht als echte 'file.js' auf dem Remote-Server einzuschließen, sondern als /home/user/folder/file.js, das sich auf meinem Computer befindet
user1403546
3
Diese Information sollte von Anfang an in der Frage gewesen sein. Ich habe meine Antwort aktualisiert.
pLumo

Antworten:

12

Option 1: Verwenden von file://Links

Sie können Ihren Browser mit auf einen beliebigen Ordner auf Ihrem Computer verweisen

file:///path/to/folder

Eine Liste von Dateien sollte angezeigt werden, ähnlich wie bei einem Dateibrowser. Web - Browser kann auch Parsen .html - Dateien , zeigen Bilder , einige spielen Videoformate, offenen Text und XML - Dateien von Ihrem lokalen Rechner. Zeigen Sie einfach mit Ihrem Browser auf file:///path/to/file.ext.


Option 2: Ausführen eines HTTP-Servers

Wenn Sie Dateien analysieren müssen andere als .html (zB phpDateien) oder Notwendigkeit , den Zugang sie von einem anderen Computer, benötigen Sie einen laufen HTTP - Server wie apache, nginxoder Python SimpleHTTPServerauf Ihrem lokalen Rechner. Dann können Sie http://und falls konfiguriert auch https://URLs verwenden.

Hier ist eine schöne Liste von Instant HTTP Server-Optionen.


Beispiel: Starten Sie einen Instant http-Server mit Python und SimpleHTTPServer

Python 2.x:

cd /home/user/folder && python -m SimpleHTTPServer 8082

Python 3.x:

cd /home/user/folder && python3 -m http.server 8082 

Öffnen Sie dann Ihren bevorzugten Browser: http: // localhost: 8082 /

AKTUALISIEREN:

Nachdem Sie Ihre spezifischen Anforderungen in den Kommentaren hinzugefügt haben , würde ich empfehlen, diese Seite zu lesen, warum lokale Links innerhalb von http-Seiten nicht zulässig sind . Enthalten ist auch eine Problemumgehung (Überschreiben der Sicherheitsrichtlinie mit NoScript).

Aus Sicherheitsgründen blockieren Mozilla-Anwendungen Links zu lokalen Dateien (und Verzeichnissen) aus Remotedateien. Dies umfasst das Verknüpfen mit Dateien auf Ihrer Festplatte, auf zugeordneten Netzwerklaufwerken und den Zugriff über UNC-Pfade (Uniform Naming Convention). Dies verhindert eine Reihe von unangenehmen Möglichkeiten

Ich sehe drei Möglichkeiten:

  • Verwenden Sie einen (sofortigen) HTTP-Server, den Sie http://localhost:8082/file.jsdirekt einbinden können .
  • Überschreiben Sie die Firefox-Sicherheitsrichtlinie und verwenden Sie einen file://Link (ich würde dies nicht tun, wenn andere Optionen vorhanden sind).
  • Lassen Sie den Server über eine http-, smb- oder ssh-Verbindung auf die Datei zugreifen, um sie direkt bereitzustellen (wenn Sie sich hinter einem Router oder einer Firewall befinden, müssen Sie sich um die Portweiterleitung kümmern). Dies ist recht kompliziert zu erreichen, aber die einzige Option, die den Zugriff von anderen Computern aus ermöglicht (nur wenn Ihr Computer online ist).

Hinweis: Für bessere Antworten schreiben Sie die Frage immer von Anfang an so spezifisch wie möglich .

pLumo
quelle
1
Eine weitere gute Option ist die Verwendung des servePakets ab npm. sudo npm install -g serveinstallieren. serve /some/dir/heredienen. Ich bin sicher, es gibt auch eine Menge anderer.
Sandy Chapman
3

Wenn Sie Apache Server verwenden, ist Ihr Standardstammverzeichnis wahrscheinlich /var/www/htmlund der Apache Server sieht sich eine Datei oder einen Ordner mit dem Namen indexlike an index.htmloder index.phpgreift sofort darauf zu. Was Sie tun müssen, ist:

  • Gehen Sie zu dem Ordner, auf den Sie verweisen möchten ( /home/user/folderin Ihrem Beispiel), klicken Sie mit der rechten Maustaste auf den Ordner und klicken Sie auf "Link erstellen " (oder was auch immer die CLI-Alternative ist).
  • Nachdem die Linkdatei erstellt wurde, benennen Sie sie in "Index" um und verschieben Sie sie in Ihren Apache-Stammordner /var/www/html.
  • Der letzte wichtige Schritt besteht darin, sicherzustellen, dass Apache über die richtigen Berechtigungen für den Zugriff auf die benötigten Dateien verfügt (dh auf den von uns erstellten und benannten Link indexsowie auf das /home/user/folderVerzeichnis und die Dateien, auf die in diesem Verzeichnis zugegriffen werden muss).
gRoMBi
quelle
1

Zuerst müssen Sie den LAMP-Stack oder nur den Webserver wie folgt installieren: Apache , Lighttpd oder Nginx . Dann müssen Sie Ihren Web - Server konfigurieren und aktivieren HTTPS , wenn Sie wirklich brauchen s ecure Verbindung, nicht nur HTTP .


Hier sind einige HOW-TOs zu Apache2:

pa4080
quelle
0

LAMP (Linux Apache MySQL und PHP) ist der beste Weg, da es einen Server auf Ihrem lokalen Computer ausführt. Ich habe auf meiner Website eine Anleitung zum Installieren und Einrichten der Installation von LAMP unter Ubuntu geschrieben

Ian Croasdell
quelle