Skip To Content

Użyj serwera proxy

Po wdrożeniu aplikacji może zaistnieć potrzeba użycia proxy. Oprogramowanie Web AppBuilder obsługuje używanie proxy w następującym sytuacjach:

  • Uzyskiwanie dostępu do zasobów międzydomenowych
  • Żądanie przekraczające 2048 znaków
  • Uzyskiwanie dostępu do zasobów zabezpieczonych uwierzytelnieniem za pomocą tokenu
  • Loginy aplikacji OAuth 2.0
  • Umożliwienie logowania
  • Ograniczenie zasobu i elementu oceny, do którego utworzono odwołanie

Domyślnie pobierana aplikacja używa serwera proxy dostarczonego przez witrynę Portal for ArcGIS. Określ własny serwer proxy oraz reguły, modyfikując właściwość httpProxy w pliku konfiguracyjnym aplikacji. Właściwość httpProxy zawiera następujące atrybuty:

AtrybutOpis

useProxy

Wartość logiczna (Boolean). Opcjonalne. Domyślnie: prawda (true). Jeżeli wartość to fałsz (false), wszystkie żądania nie będą używać proxy.

url

Ciąg. Opcjonalne. URL określające lokalizację proxy. Jeżeli żądanie (np. żądanie międzydomenowe) nie pasuje do żadnej zasady proxy, ale konieczne jest użycie serwera proxy to taki serwer proxy zostanie użyty.

alwaysUseProxy

Wartość logiczna (Boolean). Opcjonalne. Określa czy proxy powinno być zawsze używane do komunikacji z punktem końcowym REST. Domyślnie: fałsz (false). Jeżeli żądanie nie pasuje do żadnej reguły proxy i nie wymaga serwera proxy, aplikacja sprawdzi tę właściwość w celu określenia, jak należy dalej używać serwera proxy. Jeżeli wartość to fałsz (false), żądanie nie przejdzie przez url serwera proxy, do którego utworzono odwołanie. Jeżeli wartość to prawda (true), żądanie przejdzie przez url serwera proxy, do którego utworzono odwołanie.

reguły

Obiekt[]. Opcjonalne. Definiuje proxy dla zestawu zasobów z tym samym prefiksem URL. Jeżeli żądanie URL pasuje do reguły, to przechodzi ono przez proxy. Każda reguła ma dwie właściwości.

  • urlPrefix-string — prefiks URL dla zasobów, do których dostęp musi być uzyskany przez dane serwera proxy.
  • proxyUrl-string — adres URL dla serwera proxy.

Uwaga:

Gdy useProxy to fałsz (false) i żądanie jest dłuższe niż 2048 znaków, wysyłane jest żądanie POST zamiast żądania GET. Ponadto, jeśli usługa obsługuje technologię CORS, żądanie POST może być pomyślnie wysłane bezpośrednio do usługi. W innym wypadku żądanie POST zakończy się niepowodzeniem. Gdy useProxy to prawda (true) i zostanie wysłane żądanie POST, a usługa nie obsługuje technologii CORS, żądanie POST zostanie automatycznie wysłane przez serwer proxy.

Poniższe ilustruje działanie proxy w stosunku do powyższych atrybutów:

  • Aplikacja sprawdza useProxy.
    • Jeżeli wartość to fałsz (false), wszystkie żądania nie będą używać proxy.
    • Jeżeli wartość to prawda (true), aplikacja sprawdzi rules.
      • Jeżeli żądanie pasuje do reguł proxy, aplikacja używa w regułach ustawienia proxyUrl.
      • Jeżeli żądanie (np. żądanie międzydomenowe) nie pasuje do żadnej zasady proxy, ale konieczne jest użycie serwera proxy, aplikacja użyje url serwera proxy, do którego utworzono odwołanie.
      • Jeżeli żądanie nie pasuje do reguł proxy lub nie wymaga serwera proxy, aplikacja sprawdzi następnie alwaysUseProxy.
        • Jeżeli wartość to fałsz (false), żądanie nie przejdzie przez url serwera proxy, do którego utworzono odwołanie.
        • Jeżeli wartość to prawda (true), żądanie przejdzie przez url serwera proxy, do którego utworzono odwołanie.
Diagram serwera proxy

Przykład:

"httpProxy": {
		"useProxy": true,
		"url": "http://gallery.chn.esri.com/arcgis/sharing/proxy",
		"alwaysUseProxy": false,
		"rules": [{
			"urlPrefix": "http://route.arcgis.com/",
			"proxyUrl": "resource-proxy-1.0/DotNet/proxy.ashx"
		}]
	}

Ponadto firma Esri zapewnia trzy serwery proxy, z których każdy przeznaczony jest dla określonej platformy serwerowej: ASP.NET, Java/JSP i PHP. Pobierz i wdróż odpowiedni serwer proxy dla platformy GitHub. Zapoznaj się również z tematem Korzystanie z serwera proxy i przykładami z bloga dotyczącymi Konfigurowania serwera proxy z oprogramowaniem Web AppBuilder.