Я экспериментирую с AWS API Gateway в качестве решения для аутентификации частного HTTP-сервиса, и у меня возникают проблемы с его настройкой.
У меня есть фиктивная служба node.js, работающая в частном VPC с внутренним балансировщиком нагрузки сети (примечание: это исправно).
Затем я настроил API и настроил ссылку VPC на это руководство: https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html
URL ресурса метода get указывает на DNS-имя внутреннего подсистемы балансировки нагрузки.
Когда я перехожу к URL-адресу шлюза API (например, https://ABC123.execute -api.us-west-2.amazonaws.com / prod / ), я могу получить HTML-ответ сервер (см. ниже). Однако файлы javascript возвращают 403 Forbidden
. Я ожидаю, что это как-то связано с настройкой пути.
Вместо того, чтобы просто возвращать один ответ (т. Е. Ответ json API), есть ли способ настроить шлюз API для возврата полнофункционального приложения, которое включает ресурсы HTML, css и js?
Вот фиктивный код, который запускает приложение:
// server.js
var express = require('express'),
app = express();
app.use('/', express.static('/home/ubuntu/static/'));
app.listen(8080);
страница индекса - это страница, которая загружается, когда я нажимаю на шлюз API
<!-- static/index.html -->
<html>
<body>
<h1>Hello world!</h1>
<p>This is some text.</p>
<script src="./app.js"></script>
</body>
</html>
JS не загружается (403) и не выполняется.
// static/app.js
console.log('Logging from app.js');
alert('WOOT!');