curl
curl (Client URL) არის ერთ-ერთი ყველაზე ძლიერი და აუცილებელი ბრძანება (command-line tool) ნებისმიერი დეველოპერისა თუ სისტემური ადმინისტრატორისთვის. ის საშუალებას გაძლევს გადააგზავნო და მიიღო მონაცემები სერვერიდან პირდაპირ ტერმინალის მეშვეობით.
თუ Nginx-ი გიწერს 503 Service Unavailable-ს, curl არის შენი პირველი "დიაგნოსტიკური აპარატი", რათა გაიგო, სად წყდება კავშირი.
- რატომ გვჭირდება curl ჩვენს GIS სტეკში? ჩვენს გარემოში (Fedora, Podman, GeoServer), curl გვეხმარება "შიგნიდან" დავინახოთ ის, რასაც ბრაუზერი ვერ გვიჩვენებს:
GeoServer-ის შემოწმება: მუშაობს თუ არა Tomcat-ი საერთოდ?
API მოთხოვნები: MapProxy-სგან Tiles-ების გამოთხოვა ტესტირებისთვის.
ჰედერების ნახვა: სწორედ იმ CSP ან CORS ჰედერების შემოწმება, რომლებიც ავტორიზაციას გიბლოკავს.
- პრაქტიკული გამოყენება ჩვენს ქსელში აი, კონკრეტული ბრძანებები, რომლებიც ახლავე გამოგადგება:
ა) GeoServer-ის სიცოცხლისუნარიანობის შემოწმება (503-ის დიაგნოსტიკა) თუ Nginx-ი 503-ს გიგდებს, გაუშვი ეს სერვერზე:
Bash curl -I http://127.0.0.1:8080/geoserver/web/ თუ დაგიწერა HTTP/1.1 200 OK, ესე იგი GeoServer-ი მუშაობს და პრობლემა Nginx-ის კონფიგურაციაშია.
თუ დაგიწერა Connection refused, ესე იგი GeoServer-ი (Tomcat) გათიშულია.
ბ) ჰედერების დეტალური შემოწმება (ავტორიზაციის პრობლემისთვის) გაინტერესებს, რას გიგზავნის სერვერი CSP-ს სახით?
Bash curl -v https://10.116.12.45/geoserver/j_spring_security_check -v (verbose) რეჟიმი გიჩვენებს მთელ "დიალოგს" სერვერსა და კლიენტს შორის. აქ დაინახავ, რეალურად ემატება თუ არა შენი ჩაწერილი form-action წესი.
გ) MapProxy-ს შემოწმება მუშაობს თუ არა MapProxy-ს სერვისი?
Bash curl "http://127.0.0.1:8011/service?REQUEST=GetCapabilities&SERVICE=WMS" 3. curl Fedora-ზე და Podman-ში როცა გადახვალ Fedora-ზე, curl გახდება შენი მარჯვენა ხელი:
კონტეინერებს შორის კავშირი: შეგიძლია შეხვიდე Caddy-ს კონტეინერში და იქიდან "დაუკავშირდე" (curl) GeoServer-ის კონტეინერს, რათა დარწმუნდე, რომ შიდა ქსელი გამართულია.
ავტომატიზაცია: შეგიძლია დაწერო პატარა სკრიპტი, რომელიც curl-ით პერიოდულად შეამოწმებს რუკის მუშაობას და თუ რამეა, შეგატყობინებს.