У меня есть пример приложения реагирования, которое запрашивает приложение Graphql Python, чтобы просто напечатать список жестко закодированных имен сотрудников на экране. Я развернул оба этих приложения в кластере и в пространстве имен с поддержкой istio.
В настоящее время я обращаюсь к приложению graphql python через внешний балансировщик нагрузки из моего приложения React. Вот так -
const cache = new InMemoryCache();
const link = new HttpLink({
uri: "http://**<<<External-ELB>>**:5555/graphql"
})
//appolo client setup
const client = new ApolloClient({
cache,
link
})
class App extends Component{
render(){
return(
<ApolloProvider client={client}>
<div className="main">
<h1> Employee Data List</h1>
<Routes />
</div>
</ApolloProvider>
);
}
}
Я попытался создать виртуальную службу для своего приложения и добавить istio-ingress-gateway ELB вместо External-ELB, которая работает нормально, но я все еще могу получить доступ к своему приложению graphql через браузер, которого я хочу избежать.
Есть ли способ справиться с этим с помощью доверенных лиц посланника Istio?
Я хочу открыть свой внешний интерфейс только с помощью Istio-Ingress-ELB и получить доступ к моему внутреннему приложению, не подвергаясь воздействию. Теперь, как мне получить доступ к моему приложению python, не выставляя его в качестве балансировщика нагрузки?
Заранее спасибо.