Я боролся со следующей проблемой: как настроить безсерверный сервер с авторизацией белого списка IP и откат к BasicAuth (к корневому пути), если IP не совпадает с белым списком?
Добавить довольно простоАвторизация белого списка IP-адресов (https://github.com/0is1/nextjs-serverless-test/blob/master/serverless.yml#L23-L34).) Кроме того, довольно просто добавить BasicAuth (или любой другой Authorizer), например https://serverless.com/framework/docs/providers/aws/events/apigateway#http-endpoints-with-custom-authorizers. Но как объединить эти два параметра с безсерверными + конфигурациями AWS Cloud Formation?
Похоже, что если используется serverless-nextjs-plugin
, то невозможно использовать конфигурацию без сервера, например:
functions:
handler:
handler: handler
events:
- http:
path: / # Add basic auth to root
method: GET
authorizer: ${self:custom.authorizer.users} # this is doing nothing if serverless-nextjs-plugin is on
Или возможно, но она ничего не делает.
Я имеюсоздал тестовое репо о прогрессе на данный момент https://github.com/0is1/nextjs-serverless-test
Подводя итог:
- Как объединить белый список IP-адресов и запасной вариант с другим Authorizer, если ip не соответствует белому списку с бессерверным
- Как добавить BasicAuth в корень приложения, если используется
serverless-nextjs-plugin
Заранее спасибо!