Analyse des Implementierungsprozesses der Docker-Intranet-Penetration-FRP-Bereitstellung

Analyse des Implementierungsprozesses der Docker-Intranet-Penetration-FRP-Bereitstellung

1. Erstellen Sie ein Konfigurationsdateiverzeichnis

cd /home-Verzeichnis

mkdir frp

Die endgültige Verzeichnisstruktur:

2. Erstellen Sie eine Serverkonfigurationsdatei

vi frps.ini

[gemeinsam]
Bindeport = 17000
token = meinToken
vhost_http_port = 10080
vhost_https_port = 10443
 
Dashboard-Port = 17500
Dashboard_Benutzer = Administrator
dashboard_pwd = Administrator
 
 
tcp_mux = wahr
max_pool_count = 10

3. Erstellen Sie eine serverseitige YML-Datei

vi frps-docker-compose.yml

Version: '3'
Leistungen:
 
  frps:
    Bild: snowdreamtech/frps
    Häfen:
      - "17000:17000"
      - "27500:17500"
      - "10022:10022" #Für SSH-Verbindung - "10080:10080" #Für externen Netzwerkzugriff # Je nach tatsächlichem Bedarf können weitere Ports hinzugefügt werden:
      - ./frps.ini:/etc/frp/frps.ini Containername: frps

4. Starten Sie den Server

docker-compose -f frps-docker-compose.yml up Hinweis: Hintergrundausführung aktivieren -d

5. Erstellen Sie eine Client-Konfigurationsdatei

vifrpc.ini

[gemeinsam]
#Server-IP
Serveradresse = xxxx
server_port = 17000
token = meinToken
 
[ssh]
Typ = TCP
lokale_ip = 127.0.0.1
lokaler_Port = 22
Remote-Port = 10022
use_encryption = true
use_compression = wahr
 
[pi.meinedomain.com]
Typ = http
lokaler_Port = 80
benutzerdefinierte_Domänen = pi.meinedomain.com

6. Client-YML-Datei erstellen

vi frpc-docker-compose.yml

Version: '3'
Leistungen:
  frpc:
    Bild: cloverzrg/frpc-docker
    Bände:
      - ./frpc.ini:/conf/frpc.ini
    Containername: frpc
    Netzwerkmodus: Host

8. Starten Sie den Client

docker-compose -f frpc-docker-compose.yml up -d

  • Besuchen Sie den Domänennamen http://pi.mydomain.com:10080. Sie können die Webseite normal aufrufen (Voraussetzung ist, dass der Client-Computer den HTTP-Server startet und Port 80 überwacht). Beachten Sie, dass der Domänenname A-Eintrag von pi.mydomain.com zuerst in IP xxxx aufgelöst werden sollte. Wenn der Server bereits einen entsprechenden Domänennamen hat, können Sie den CNAME-Eintrag auch in den ursprünglichen Domänennamen des Servers auflösen.
  • Stellen Sie eine Remoteverbindung über ssh -p 10022 username@xxxx her.
  • Besuchen Sie http:xxxx:27500 und Sie können das Dashboard sehen, das den Verbindungsstatus jedes Clients anzeigt.

Referenz: https://liyangweb.com/service/358.html

Chinesisches frp-Dokument: https://www.cnblogs.com/yanglang/p/12035934.html

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Analyse des Bereitstellungsprozesses der Leistungstestplattform nGrinder mit Docker
  • So stellen Sie MySQL- und Redis-Dienste mit Docker bereit
  • So installieren Sie Tomcat in Docker und stellen das Springboot-Projekt-War-Paket bereit
  • Schritte zum Bereitstellen mehrerer Tomcat-Dienste mithilfe von DockerFile im Docker-Container
  • Erstellen, Hochladen, Abrufen und Bereitstellen von Docker-Images (mithilfe von Alibaba Cloud)
  • Detaillierte Bereitstellung von Docker+Gitlab+Gitlab-Runner
  • So stellen Sie eigenständigen Pulsar und geclustertes Redis mit Docker bereit (Entwicklungsartefakt)
  • Analyse des Consul-Konfigurationsprozesses für die Docker-Bereitstellung

<<:  Implementierungscode für mehrzeilige Textkomponenten der Vue-Faltanzeige

>>:  MySQL 8.0.21 Installationsschritte und Problemlösungen

Artikel empfehlen

Detaillierte Erläuterung der gespeicherten Prozeduren und Funktionen von MySQL

1 Gespeicherte Prozedur 1.1 Was ist eine gespeich...

SSM VUE Axios Detaillierte Erklärung

Inhaltsverzeichnis Wie wird das SQL-Protokoll ang...

Vue2.x - Beispiel für die Verwendung von Anti-Shake und Throttling

Inhaltsverzeichnis Dienstprogramme: Verwendung in...

Was sind die Verwendungszwecke von Limits in MySQL (empfohlen)

SELECT * FROM Tabellenname Limit m,n; SELECT * FR...

Beschreiben Sie kurz den Unterschied zwischen Redis und MySQL

Wir wissen, dass MySQL ein persistenter Speicher ...

Detaillierte Erklärung der Ansichten in MySQL

Sicht: Ansichten in MySQL haben viele Ähnlichkeit...

Führt das Laden von CSS zu einer Blockierung?

Vielleicht weiß jeder, dass die JS-Ausführung die...

Designtheorie: Textausdruck und Benutzerfreundlichkeit

<br />Beim Textdesign konzentrieren wir uns ...

MySQL-Fall bei der Verwendungsbeispielanalyse

Zuerst erstellen wir die Datenbanktabelle: Tabell...

Einfaches Beispiel für die Leistungsoptimierung von MySQL-SQL-Anweisungen

Einfaches Beispiel für die Leistungsoptimierung v...

Zusammenfassung der drei Lazy-Load-Methoden lazyLoad mit nativem JS

Inhaltsverzeichnis Vorwort Methode 1: Hoher Kontr...