Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

ngrok ინტეგრაცია

ngrok არის პოპულარული გვირაბის სერვისი, რომელიც უსაფრთხო შესვლას ქმნის თქვენს ლოკალურ PRX ინსტანციაზე. ეს არის ყველაზე სწრაფი გზა webhook-ებისა და გარე ინტეგრაციების დასაწყებად -- ერთი ბრძანება გაძლევთ საჯარო HTTPS URL-ს, რომელიც თქვენს ლოკალურ აგენტზე მიუთითებს.

მიმოხილვა

ngrok საუკეთესოდ შეეფერება:

  • დეველოპმენტს და ტესტირებას -- საჯარო URL-ის მიღება წამებში ანგარიშის გარეშე
  • Webhook პროტოტიპირებას -- Telegram, Discord, GitHub ან Slack ინტეგრაციების სწრაფი ტესტირება
  • დემოებს და პრეზენტაციებს -- დროებითი საჯარო URL-ის გაზიარება აგენტის საჩვენებლად
  • გარემოებს, სადაც Cloudflare ან Tailscale ხელმისაწვდომი არ არის

პროდაქშენ განთავსებისთვის, განიხილეთ Cloudflare გვირაბი ან Tailscale Funnel, რომლებიც უკეთეს საიმედოობას, მორგებულ დომენებსა და ნულოვანი ნდობის წვდომის კონტროლებს გვთავაზობს.

წინაპირობები

  1. ngrok CLI დაყენებული PRX-ის გამშვებ მანქანაზე
  2. ngrok ანგარიში auth ტოკენით (უფასო დონე საკმარისია)

ngrok-ის დაყენება

bash
# Debian / Ubuntu (snap-ით)
sudo snap install ngrok

# macOS
brew install ngrok

# ბინარის ჩამოტვირთვა (ყველა პლატფორმა)
# https://ngrok.com/download

# ავთენტიფიკაცია (ერთჯერადი დაყენება)
ngrok config add-authtoken <YOUR_AUTH_TOKEN>

თქვენი auth ტოკენი მიიღეთ ngrok-ის დაშბორდიდან.

კონფიგურაცია

ბაზისური დაყენება

toml
[tunnel]
backend = "ngrok"
local_addr = "127.0.0.1:8080"

[tunnel.ngrok]
# Auth ტოკენი. ასევე შეიძლება მითითდეს NGROK_AUTHTOKEN გარემოს ცვლადით.
# გამოტოვებისას, ngrok ტოკენს თავისი ლოკალური კონფიგურაციიდან იყენებს.
authtoken = ""

# რეგიონი გვირაბის ენდფოინთისთვის.
# ვარიანტები: "us", "eu", "ap", "au", "sa", "jp", "in"
region = "us"

მორგებული დომენი (ფასიანი გეგმები)

ngrok-ის ფასიანი გეგმები მხარს უჭერს მუდმივ მორგებულ დომენებს:

toml
[tunnel]
backend = "ngrok"
local_addr = "127.0.0.1:8080"

[tunnel.ngrok]
authtoken = "${NGROK_AUTHTOKEN}"

# მორგებული დომენი (მოითხოვს ngrok-ის ფასიან გეგმას)
domain = "agent.example.com"

რეზერვირებული დომენი

უფასო დონეზე სტაბილური URL-ებისთვის, ngrok გვთავაზობს რეზერვირებულ დომენებს:

toml
[tunnel.ngrok]
authtoken = "${NGROK_AUTHTOKEN}"

# ngrok-ის მიერ მინიჭებული რეზერვირებული დომენი (მაგ., "example-agent.ngrok-free.app")
domain = "example-agent.ngrok-free.app"

კონფიგურაციის მითითება

პარამეტრიტიპინაგულისხმევიაღწერა
authtokenstring--ngrok ავთენტიფიკაციის ტოკენი
regionstring"us"გვირაბის რეგიონი: "us", "eu", "ap", "au", "sa", "jp", "in"
domainstring--მორგებული ან რეზერვირებული დომენი (ფასიანი ფუნქცია)
subdomainstring--ფიქსირებული ქვედომენი ngrok-free.app-ზე
ngrok_pathstring"ngrok"ngrok ბინარის ბილიკი
inspectbooleantruengrok-ის შემოწმების დაშბორდის ჩართვა (localhost:4040)
log_levelstring"info"ngrok ლოგის დონე: "debug", "info", "warn", "error"
metadatastring--თვითნებური მეტამონაცემების სტრიქონი, მიმაგრებული გვირაბის სესიაზე
basic_authstring--HTTP Basic Auth user:password ფორმატში
ip_restrictionslist[]ნებადართული CIDR დიაპაზონების სია (მაგ., ["203.0.113.0/24"])
circuit_breakerfloat--შეცდომების სიჩქარის ზღურბლი (0.0-1.0) circuit breaker-ის გასააქტიურებლად
compressionbooleanfalseპასუხის კომპრესიის ჩართვა

როგორ მართავს PRX ngrok-ს

გვირაბის დაწყებისას, PRX ngrok-ს შვილ პროცესად უშვებს:

bash
ngrok http 127.0.0.1:8080 \
  --authtoken=<token> \
  --region=us \
  --log=stdout \
  --log-format=json

შემდეგ PRX ngrok-ის ლოკალურ API-ს (http://127.0.0.1:4040/api/tunnels) იკითხავს მინიჭებული საჯარო URL-ის მისაღებად. ეს URL ინახება და გამოიყენება webhook რეგისტრაციისა და არხის კონფიგურაციისთვის.

უფასო დონის შეზღუდვები

ngrok-ის უფასო დონეს რამდენიმე შეზღუდვა აქვს:

შეზღუდვაუფასო დონეგავლენა PRX-ზე
ერთდროული გვირაბები1მხოლოდ ერთი PRX ინსტანცია ngrok ანგარიშზე
კავშირები წუთში40შეიძლება შეზღუდოს მაღალი ტრაფიკის webhook-ებს
მორგებული დომენებიხელმიუწვდომელიURL ყოველ გადატვირთვაზე იცვლება
IP შეზღუდვებიხელმიუწვდომელიწყარო IP-ების შეზღუდვა შეუძლებელია
გამტარუნარიანობაშეზღუდულიდიდი ფაილების გადაცემა შეიძლება შეზღუდულ იქნას
შუამავალი გვერდიჩანს პირველ ვიზიტზეშეიძლება ხელი შეუშალოს ზოგიერთ webhook პროვაიდერს

უსაფრთხოების გათვალისწინებები

  • Auth ტოკენის დაცვა -- ngrok auth ტოკენი ანიჭებს გვირაბის შექმნის წვდომას თქვენს ანგარიშზე. შეინახეთ PRX-ის საიდუმლოებების მენეჯერში ან გადაეცით NGROK_AUTHTOKEN გარემოს ცვლადით.
  • უფასო დონის URL-ები საჯაროა -- ნებისმიერს URL-ით შეუძლია თქვენს აგენტთან მიღწევა. გამოიყენეთ basic_auth ან ip_restrictions (ფასიანი) წვდომის შესაზღუდად.
  • TLS-ის შეწყვეტა -- ngrok წყვეტს TLS-ს მის ზღვარზე. ტრაფიკი ngrok-სა და ლოკალურ PRX-ს შორის ngrok-ის ინფრასტრუქტურაზე გადის.

პრობლემების მოგვარება

სიმპტომიმიზეზიგადაწყვეტა
"authentication failed"არასწორი ან აკლია auth ტოკენიგაუშვით ngrok config add-authtoken <token>
URL ვერ ამოიცნოngrok API არ პასუხობს :4040-ზეშეამოწმეთ, რომ 4040 პორტს სხვა პროცესი არ იყენებს
"tunnel session limit"უფასო დონე 1 გვირაბს იძლევაშეაჩერეთ სხვა ngrok სესიები ან განაახლეთ
Webhook-ები 502 აბრუნებსPRX გეითვეი არ ისმენსშეამოწმეთ local_addr-ის შესაბამისობა გეითვეისთან

დაკავშირებული გვერდები

Released under the Apache-2.0 License.