在GraphQL服务器中设置主机名

时间:2019-02-15 15:52:53

标签: prisma-graphql

请让我知道如何在GraphQLServer(graphql-yoga)中设置主机名吗?我想将主机名设置为我的域名(位于Ubuntu服务器上)并使用它代替“ localhost”,但是很遗憾,它不起作用。

我使用了以下代码:


    const { GraphQLServer } = require('graphql-yoga')
    const { Prisma } = require('prisma-binding')
    const bodyParser = require('body-parser')
    ...

    const db = new Prisma({
      typeDefs: process.env.PRISMA_TYPE_DEFS,
      endpoint: process.env.PRISMA_ENDPOINT,
    })

    const server = new GraphQLServer({
      typeDefs: process.env.QRAPHQL_TYPE_DEFS,
      resolvers,
      directiveResolvers,
      context: req => ({
        ...req,
        db
      }),
    })

    server.express.use( bodyParser.json({limit: "500mb"}) );
    server.express.use( bodyParser.urlencoded({limit: "500mb", extended: true}) ); 
    server.express.post(
      server.options.endpoint,
      checkJwt,
      (err, req, res, next) => {
        if (err) return res.status(401).send(err.message)
        next()
      }
    )
    server.express.post(server.options.endpoint, (req, res, next) =>
      getUser(req, res, next, db)
    )

    const options = {
      port: process.env.PORT,
      hostname: "xxx"
    }
    server.start(options, ({ port }) =>
      console.log(
        `Server started, listening on port ${port} for incoming requests.`,
      ),
    )

我想将主机名设置为我的域名,并使用它代替“ localhost”,但是很遗憾,它不起作用。

你能帮我吗?

谢谢。 大卫

0 个答案:

没有答案