Konfigurowanie współużytkowania zasobów między źródłami (CORS) dla usługi Azure Container Apps
Domyślnie żądania wysyłane za pośrednictwem przeglądarki do domeny, która nie jest zgodna z domeną pochodzenia strony, są blokowane. Aby uniknąć tego ograniczenia dla usług wdrożonych w usłudze Container Apps, możesz włączyć mechanizm CORS.
W tym artykule pokazano, jak włączyć i skonfigurować mechanizm CORS w aplikacji kontenera.
Po włączeniu mechanizmu CORS można skonfigurować następujące ustawienia:
Ustawienie | Wyjaśnienie |
---|---|
Zezwalaj na poświadczenia | Wskazuje, czy ma być zwracany Access-Control-Allow-Credentials nagłówek. |
Maksymalny wiek | Konfiguruje Access-Control-Max-Age nagłówek odpowiedzi, aby wskazać, jak długo (w sekundach) można buforować wyniki żądania przed lotem CORS. |
Dozwolone źródła | Lista źródeł dozwolonych dla żądań między źródłami (na przykład https://www.contoso.com ). Steruje nagłówka Access-Control-Allow-Origin odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
Dozwolone metody | Lista metod żądań HTTP dozwolonych w żądaniach między źródłami. Steruje nagłówka Access-Control-Allow-Methods odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
Dozwolone nagłówki | Lista nagłówków dozwolonych w żądaniach między źródłami. Steruje nagłówka Access-Control-Allow-Headers odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
Uwidaczniaj nagłówki | Domyślnie nie wszystkie nagłówki odpowiedzi są widoczne dla kodu JavaScript po stronie klienta w żądaniu między źródłami. Uwidocznione nagłówki są dodatkowymi serwerami nagłówków, które mogą zawierać odpowiedź. Steruje nagłówka Access-Control-Expose-Headers odpowiedzi. Użyj polecenia * , aby uwidocznić wszystkie. |
Właściwości | Wyjaśnienie | Typ |
---|---|---|
allowCredentials |
Wskazuje, czy ma być zwracany Access-Control-Allow-Credentials nagłówek. |
boolean |
maxAge |
Konfiguruje Access-Control-Max-Age nagłówek odpowiedzi, aby wskazać, jak długo (w sekundach) można buforować wyniki żądania przed lotem CORS. |
integer |
allowedOrigins |
Lista źródeł dozwolonych dla żądań między źródłami (na przykład https://www.contoso.com ). Steruje nagłówka Access-Control-Allow-Origin odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
tablica ciągów |
allowedMethods |
Lista metod żądań HTTP dozwolonych w żądaniach między źródłami. Steruje nagłówka Access-Control-Allow-Methods odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
tablica ciągów |
allowedHeaders |
Lista nagłówków dozwolonych w żądaniach między źródłami. Steruje nagłówka Access-Control-Allow-Headers odpowiedzi. Użyj polecenia * , aby zezwolić na wszystkie. |
tablica ciągów |
exposeHeaders |
Domyślnie nie wszystkie nagłówki odpowiedzi są widoczne dla kodu JavaScript po stronie klienta w żądaniu między źródłami. Uwidocznione nagłówki są dodatkowymi serwerami nagłówków, które mogą zawierać odpowiedź. Steruje nagłówka Access-Control-Expose-Headers odpowiedzi. Użyj polecenia * , aby uwidocznić wszystkie. |
tablica ciągów |
Aby uzyskać więcej informacji, zobacz dokumentację web hypertext Application Technology Working Group (WHATWG) dotyczącą prawidłowych odpowiedzi HTTP z żądania pobierania.
Włączanie i konfigurowanie mechanizmu CORS
Przejdź do aplikacji kontenera w witrynie Azure Portal.
W menu ustawień wybierz pozycję CORS.
Po włączeniu mechanizmu CORS można dodawać, edytować i usuwać wartości dozwolonych źródeł, dozwolonych metod, dozwolonych nagłówków i uwidaczniać nagłówki.
Aby zezwolić na dopuszczalne wartości metod, nagłówków lub źródeł, wprowadź *
jako wartość.
Uwaga
Aktualizacje ustawień konfiguracji za pośrednictwem wiersza polecenia zastępują bieżące ustawienia. Upewnij się, że bieżące ustawienia są uwzględniane w nowych wartościach mechanizmu CORS, które chcesz ustawić, aby upewnić się, że konfiguracja pozostaje spójna.
Poniższy kod reprezentuje formularz, który ustawienia mechanizmu CORS są używane w szablonie usługi ARM podczas konfigurowania aplikacji kontenera.
{
...
"properties": {
...
"configuration": {
...
"ingress": {
...
"corsPolicy": {
"allowCredentials": true,
"maxAge": 5000,
"allowedOrigins": ["https://example.com"],
"allowedMethods": ["GET","POST"],
"allowedHeaders": [],
"exposeHeaders": []
}
}
}
}
}