curl

curl (Client URL) არის ერთ-ერთი ყველაზე ძლიერი და აუცილებელი ბრძანება (command-line tool) ნებისმიერი დეველოპერისა თუ სისტემური ადმინისტრატორისთვის. ის საშუალებას გაძლევს გადააგზავნო და მიიღო მონაცემები სერვერიდან პირდაპირ ტერმინალის მეშვეობით.

თუ Nginx-ი გიწერს 503 Service Unavailable-ს, curl არის შენი პირველი "დიაგნოსტიკური აპარატი", რათა გაიგო, სად წყდება კავშირი.

  1. რატომ გვჭირდება curl ჩვენს GIS სტეკში? ჩვენს გარემოში (Fedora, Podman, GeoServer), curl გვეხმარება "შიგნიდან" დავინახოთ ის, რასაც ბრაუზერი ვერ გვიჩვენებს:

GeoServer-ის შემოწმება: მუშაობს თუ არა Tomcat-ი საერთოდ?

API მოთხოვნები: MapProxy-სგან Tiles-ების გამოთხოვა ტესტირებისთვის.

ჰედერების ნახვა: სწორედ იმ CSP ან CORS ჰედერების შემოწმება, რომლებიც ავტორიზაციას გიბლოკავს.

  1. პრაქტიკული გამოყენება ჩვენს ქსელში აი, კონკრეტული ბრძანებები, რომლებიც ახლავე გამოგადგება:

ა) 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-ით პერიოდულად შეამოწმებს რუკის მუშაობას და თუ რამეა, შეგატყობინებს.