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.