Azure Функциональные прокси, которые переходят к приложению Angular 9 на Azure хранилище BLOB-объектов, приводят к ошибкам типа MIME - PullRequest
1 голос
/ 29 мая 2020

Я разместил несколько Angular 9 приложений на одном Azure Хранилище BLOB-объектов (см. этот вопрос - спасибо @Sam Erkiner). Теперь я хочу перейти к одному из этих приложений, используя Azure прокси-серверы функций. Конфигурация выглядит следующим образом:

"proxyname": {
            "matchCondition": {
                "route": "/someroute"
            },
            "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/folder/subfolder"
        }

Если я перейду к https://myazureblobstorage.z6.web.core.windows.net/folder/subfolder, все будет работать нормально.

Если я перейду к https://myazurefunction.azurewebsites.net/someroute, я получаю несколько сообщений об ошибках типа mime в консоли и экран остается белым. Я получаю три сообщения об ошибке: «Загрузка модуля из 'link-to- js -file' была заблокирована из-за недопустимого типа MIME (" ")"

Что я могу сделать, чтобы исправить эти ошибки и показать приложение angular? Заранее спасибо.

Скриншоты:

enter image description here

enter image description here

1 Ответ

1 голос
/ 01 июня 2020
Try this config :- 

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "someRoute",
                "methods": [
                    "GET",
                    "HEAD"
                ]
            },
            "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/subfolder/index.html",
            "responseOverrides": {
                "response.headers.Strict-Transport-Security": "max-age=31536000; includeSubDomains",
                "response.headers.X-Content-Type-Options": "nosniff",
                "response.headers.X-XSS-Protection": "1; mode=block",
                "response.headers.x-frame-options": "SAMEORIGIN",
                "response.headers.Content-Security-Policy": "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';",
                "response.headers.Referrer-Policy": "same-origin",
                "response.headers.Feature-Policy": "payment 'self'; geolocation 'self'"
            }
        },
        "files": {
            "matchCondition": {
                "route": "someRoute/{filename}.{ext}",
                "methods": [
                    "GET",
                    "HEAD"
                ]
            },
            "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/subfolder/{filename}.{ext}"
        },
        "routes": {
            "matchCondition": {
                "route": "someRoute/{*restOfPath}",
                "methods": [
                    "GET",
                    "HEAD"
                ]
            },
            "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/subfolder/index.html",
            "responseOverrides": {
                "response.headers.Strict-Transport-Security": "max-age=31536000; includeSubDomains",
                "response.headers.X-Content-Type-Options": "nosniff",
                "response.headers.X-XSS-Protection": "1; mode=block",
                "response.headers.x-frame-options": "SAMEORIGIN",
                "response.headers.Content-Security-Policy": "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';",
                "response.headers.Referrer-Policy": "same-origin",
                "response.headers.Feature-Policy": "payment 'self'; geolocation 'self'"
            }
        },
        "assets": {
            "matchCondition": {
                "route": "someRoute/assets/{file}",
                "methods": [
                    "GET",
                    "HEAD"
                ]
            },
            "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/subfolder/assets/{file}"
        },
        "assets-folder-item": {
        "matchCondition": {
              "route": "my-center/assets/{folder}/{item}",
              "methods": [
                "GET",
                "HEAD"
            ]
         },
        "backendUri": "https://myazureblobstorage.z6.web.core.windows.net/folder/subfolder/assets/{folder}/{item}"
       }
    }
}
...