Apollo-server hide graphql ui in production

Apollo-server hide graphql ui in production


1

I’ve been searching for an explanation of this. The question is kind of "basic" so I was hopping to find the solution quickly, but I haven’t.

I want to hide the graphical ui in production server so anyone can’t see my queries, but I can’t. I don’t have problems to figure it out how to have different environment variables in local and in production. I searched in the documentation but I can’t find the way.

Thanks in advance!

3 Answers
3


2

To disable UI you can configure using playground: false

https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/

const server = new ApolloServer({
  schema, 
  introspection: false,
  playground: false,
});

1

  • 1

    Thanks! I was missing this keyword "playground". Better googler, better programmer…

    – Jortega

    Feb 19, 2021 at 8:24


1

Perhaps you are not setting the NODE_ENV=production.

In development, Apollo Server enables GraphQL Playground on the same URL as the GraphQL server itself (e.g. https://localhost:4000/graphql) and automatically serves the GUI to web browsers. When NODE_ENV is set to production, GraphQL Playground (as well as introspection) is disabled as a production best-practice.


0

Anyone using Apollo Server 4 – the following plugin needs to applied: ApolloServerPluginLandingPageDisabled() – as playground has been removed from the config.



Leave a Reply

Your email address will not be published. Required fields are marked *