Vue. js и API базы данных Mov ie возвращает ошибку 403 - PullRequest
3 голосов
/ 22 января 2020

Я новичок в The Mov ie База данных API. Я создал Vue проект, и когда я npm run serve и go на моем localhost, я вижу свое приложение в течение 1 секунды, и после этого я получаю 403 с этой ошибкой:

403 ОШИБКА Запрос не может быть удовлетворен. Запрос заблокирован. В настоящее время мы не можем подключиться к серверу для этого приложения или веб-сайта. Возможно, слишком много трафика c или ошибка конфигурации. Повторите попытку позже или обратитесь к владельцу приложения или веб-сайта. Если вы предоставляете контент клиентам через CloudFront, вы можете найти шаги по устранению неполадок и помочь предотвратить эту ошибку, просмотрев документацию CloudFront. Сгенерировано облачным фронтом (CloudFront) Идентификатор запроса: Pp4URUVnBrt7ovECZ1OEJPM9nW_N5ZE4sgxMuTAbG3A80reupMAAsw == "

Когда я отлаживаю, я получаю следующее:

...\MovieAppVue\src\services\Network.js:1
import config from '../config/index'
^^^^^^
SyntaxError: Cannot use import statement outside a module
    at Module._compile (internal/modules/cjs/loader.js:895:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
    at internal/main/run_main_module.js:17:11
aiting for the debugger to disconnect...
200 * *1001* Когда я тестирую API на 200 I на тесте ответы, поэтому ключ API хорош. Может кто-нибудь проверить мой репозиторий, чтобы увидеть, что я делаю неправильно? Я не знаю, что мне здесь не хватает.

https://github.com/ivanradunkovic/MovieApp

import config from '../config/index'
import {storageService, storageKeys} from '../mixins/storageService'

class Network {
    static methods = {
        GET: 'GET',
        POST: 'POST'
    }

    addApiKey(url) {
        return `${url}?api_key=${config.API_KEY}`
    }

    addSessionId(url) {
        const sessionId = storageService.methods.storageGet(storageKeys.SESSION_ID)
            return sessionId ? `${url}&session_id=${sessionId}` : url
    }

    constructUrl(url, queryParams) {
        url = this.addApiKey(`${config.API_BASE_URL}${url}`)
        url = this.addSessionId(url)

        for (let key in queryParams) url += `&${key}=${queryParams[key]}`
            return url
    }

    async fetch(url, method, options = {}) {
        const res = await fetch(this.constructUrl(url, options.params), {
            method,
            body: JSON.stringify(options.data),
            headers: {
                'Accept': 'application/json, text/plain, */*',
                'Content-Type': 'application/json'
            }
        })
        return await res.json()
    }
}

export default Network

1 Ответ

0 голосов
/ 24 марта 2020

У нас была такая же проблема (точно такое же сообщение об ошибке, во всяком случае) в AWS Cloudfront, когда мы запускали параллельные тесты (сотни на всех сразу). У нас не было проблемы, мы запускали их один за другим.

В нашем случае мы нажимаем «Время ожидания запроса на источник». Наш источник S3 стал слишком медленным при загрузке.

Вот список ограничений: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits -web-distribution

Один из способов подтвердить, действительно ли это то, что root причина в том, что это go в AWS Консоль и:

Cloudfront -> Распределения Cloudfront -> Выберите рассматриваемый дистрибутив CF ---> Нажмите «Использование» на левый кадр.

Это покажет вам график того, сколько тяжелого подъема сделал Cloudfront и когда. Если время совпадает, то причина root та же.

...