Restructurare completă: kanban→dashboard, notes→kb, ANAF→tools/
- Mutare și reorganizare foldere proiecte - Actualizare path-uri în TOOLS.md - Sincronizare configurații agenți - 79 fișiere actualizate
This commit is contained in:
166
kb/youtube/2026-01-29_cloudflare-tunnel-localhost-public.md
Normal file
166
kb/youtube/2026-01-29_cloudflare-tunnel-localhost-public.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# Cloudflare Tunnel: Make Localhost Public Without Port Forwarding
|
||||
|
||||
**Video:** https://youtu.be/etluT8UC-nw
|
||||
**Durată:** 18:02
|
||||
**Data:** 2026-01-29
|
||||
**Tags:** #cloudflare #tunnel #localhost #networking #devops @work
|
||||
|
||||
---
|
||||
|
||||
## TL;DR
|
||||
Cloudflare Tunnel permite expunerea unui server local (localhost) pe internet printr-un domeniu public, fără port forwarding, fără configurare router, fără expunerea IP-ului public. App-ul rămâne pe mașina ta, Cloudflare doar rutează traficul securizat.
|
||||
|
||||
---
|
||||
|
||||
## Două metode prezentate
|
||||
|
||||
### 1. Quick Tunnel (temporar, pentru teste rapide)
|
||||
|
||||
**Instalare Cloudflared:**
|
||||
```bash
|
||||
# Mac
|
||||
brew install cloudflared
|
||||
|
||||
# Windows (PowerShell)
|
||||
winget install -id cloudflare.cloudflared
|
||||
|
||||
# Linux Debian/Ubuntu
|
||||
# Vezi documentația oficială pentru package-ul apt
|
||||
```
|
||||
|
||||
**Verificare instalare:**
|
||||
```bash
|
||||
cloudflared --version
|
||||
```
|
||||
|
||||
**Rulare Quick Tunnel:**
|
||||
```bash
|
||||
cloudflared tunnel --url localhost:3000
|
||||
```
|
||||
|
||||
**Ce se întâmplă:**
|
||||
- Apare un URL public temporar: `https://random-words.trycloudflare.com`
|
||||
- Oricine poate accesa aplicația ta prin acest URL
|
||||
- **Limitare:** URL-ul se schimbă la fiecare restart
|
||||
|
||||
---
|
||||
|
||||
### 2. Permanent Tunnel (cu domeniu propriu)
|
||||
|
||||
**Cerințe:**
|
||||
- Cont Cloudflare (gratuit)
|
||||
- Domeniu propriu (cumpărat de oriunde: GoDaddy, Namecheap, etc.)
|
||||
- DNS-ul domeniului trebuie mutat la Cloudflare
|
||||
|
||||
**Pași detaliați:**
|
||||
|
||||
#### Pas 1: Adaugă domeniul în Cloudflare
|
||||
1. Login pe Cloudflare Dashboard
|
||||
2. Domains → Onboard a domain
|
||||
3. Introdu numele domeniului
|
||||
4. Lasă "Quick scan for DNS records" activat
|
||||
5. Alege planul **Free** (suficient pentru tunnel)
|
||||
|
||||
#### Pas 2: Schimbă nameservers la registrar
|
||||
1. Cloudflare îți dă 2 nameservers (ex: `xxx.ns.cloudflare.com`)
|
||||
2. Mergi la registrar-ul tău (GoDaddy, etc.)
|
||||
3. Schimbă nameservers cu cele de la Cloudflare
|
||||
4. Așteaptă propagare DNS (5-10 min până la 24h)
|
||||
|
||||
#### Pas 3: Autentifică Cloudflared
|
||||
```bash
|
||||
cloudflared tunnel login
|
||||
```
|
||||
- Se deschide browser-ul
|
||||
- Selectezi domeniul pentru care autorizezi
|
||||
- Se creează fișier credentials în `~/.cloudflared/`
|
||||
|
||||
#### Pas 4: Creează tunnel
|
||||
```bash
|
||||
cloudflared tunnel create nume-tunnel
|
||||
```
|
||||
- Se creează un fișier JSON cu credentials în `~/.cloudflared/`
|
||||
- Notează **Tunnel ID** (ex: `1ed140...`)
|
||||
|
||||
#### Pas 5: Creează rută DNS
|
||||
```bash
|
||||
cloudflared tunnel route dns nume-tunnel subdomain.domeniu.com
|
||||
```
|
||||
Exemplu: `cloudflared tunnel route dns myapp demo.romfast.ro`
|
||||
|
||||
#### Pas 6: Creează config file
|
||||
```bash
|
||||
touch ~/.cloudflared/config.yml
|
||||
```
|
||||
|
||||
**Conținut `config.yml`:**
|
||||
```yaml
|
||||
tunnel: TUNNEL_ID_AICI
|
||||
credentials-file: /Users/user/.cloudflared/TUNNEL_ID.json
|
||||
|
||||
ingress:
|
||||
- hostname: demo.romfast.ro
|
||||
service: http://localhost:3000
|
||||
- service: http_status:404
|
||||
```
|
||||
|
||||
**Important:** La `credentials-file` pune calea ABSOLUTĂ!
|
||||
|
||||
#### Pas 7: Pornește tunnel
|
||||
```bash
|
||||
cloudflared tunnel run nume-tunnel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Puncte cheie
|
||||
|
||||
### Ce face Cloudflare Tunnel:
|
||||
- Creează conexiune **outbound** securizată de la mașina ta la Cloudflare
|
||||
- **NU** hostează app-ul pe serverele Cloudflare
|
||||
- App-ul rulează **doar** pe mașina ta
|
||||
- Traficul: Internet → Cloudflare → Tunnel securizat → Localhost
|
||||
|
||||
### Limitări:
|
||||
- Dacă PC-ul e oprit → site-ul nu funcționează
|
||||
- Dacă serverul local e oprit → Cloudflare returnează 404
|
||||
- Nu e hosting, e routing
|
||||
|
||||
### Cazuri de utilizare ideale:
|
||||
- Demo-uri pentru clienți
|
||||
- Tool-uri interne
|
||||
- Testare/staging
|
||||
- Acces temporar public fără VPS
|
||||
|
||||
### Avantaje:
|
||||
- **Gratuit** (planul free e suficient)
|
||||
- Fără port forwarding
|
||||
- Fără expunere IP public
|
||||
- Fără configurare router/firewall
|
||||
- Funcționează din orice rețea (și din spatele NAT)
|
||||
|
||||
---
|
||||
|
||||
## Comenzi utile
|
||||
|
||||
```bash
|
||||
# Vezi toate tunnelele
|
||||
cloudflared tunnel list
|
||||
|
||||
# Verifică path-ul complet al credentials
|
||||
realpath ~/.cloudflared/TUNNEL_ID.json
|
||||
|
||||
# Pornește tunnel din config
|
||||
cloudflared tunnel run nume-tunnel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Aplicabilitate pentru ROA/Flowise
|
||||
|
||||
Poți expune chatbot-ul Flowise pe `chat.romfast.ro`:
|
||||
1. Flowise rulează pe `localhost:3000` pe PC-ul tău
|
||||
2. Configurezi tunnel: `hostname: chat.romfast.ro` → `service: http://localhost:3000`
|
||||
3. Clienții accesează `chat.romfast.ro`, ajung la Flowise pe PC-ul tău
|
||||
|
||||
**Condiție:** PC-ul trebuie să fie pornit și conectat la internet.
|
||||
Reference in New Issue
Block a user