ApolloServerWebSocketConnectionDockerComposeExpose问题
创始人
2024-09-09 13:01:12
0

在使用Docker Compose部署Apollo Server应用时,可能会遇到WebSocket连接无法使用的问题。这个问题经常发生是因为WebSocket连接的端口未暴露(Expose)给Docker Compose。下面是如何解决这个问题的步骤:

  1. 将WebSocket连接的端口(默认为4000)添加到Docker Compose文件中的expose字段:
version: '3'
services:
  apollo-server: 
    expose:
      - "4000"
    ...
  1. 在Docker Compose中将WebSocket连接的端口映射到主机的端口:
version: '3'
services:
  apollo-server:
    expose:
      - "4000"
    ports:
      - "4000:4000"
    ...
  1. 在Apollo Server中将WebSocket服务器地址指定为localhost。这可以通过在创建Apollo Server实例时传递一个额外的参数来完成:
const server = new ApolloServer({
  typeDefs,
  resolvers,
  subscriptions: {
    path: '/subscriptions',
    onConnect: (connectionParams, webSocket) => {
      console.log('Client connected');
    },
    onDisconnect: (webSocket, context) => {
      console.log('Client disconnected');
    },
  },
});
  1. 在Apollo Client中将WebSocket连接的URL设置为连接到Apollo Server的主机的URL(通过localhost或IP地址):
import { ApolloClient, InMemoryCache, HttpLink } from '@apollo/client';
import { WebSocketLink } from "@apollo/client/link/ws";

const wsLink = new WebSocketLink({
  uri: `ws://localhost:4000/subscriptions`,
  options: {
    reconnect: true,
  },
});

const httpLink = new HttpLink({ uri: '/graphql' });

const client = new ApolloClient({
  link: wsLink.concat(httpLink),
  cache: new InMemoryCache(),
});

以上是解决Apollo Server WebSocket Connection Docker Compose Expose问题的步骤。通过在Docker Compose文件中暴露WebSocket连接的端口并

相关内容

热门资讯

一分钟了解(靠谱WPK)外挂透... 一分钟了解(靠谱WPK)外挂透明挂辅助挂(辅助挂)透视辅助(有挂功能)-哔哩哔哩1、这是跨平台的靠谱...
玩家必看教程(wepoke挂透... 玩家必看教程(wepoke挂透视)外挂透明挂辅助神器(辅助挂)辅助透视(有挂讲解)-哔哩哔哩;亲,其...
透明私人局!Wepoke透明挂... 透明私人局!Wepoke透明挂(wEpOke)外挂透明挂辅助APP(透视)解说技巧(有挂教学)-哔哩...
推荐一款(智星德州安卓版)外挂... 推荐一款(智星德州安卓版)外挂透明挂辅助神器(辅助挂)竟然真的有挂(2022已更新)(哔哩哔哩);亲...
总算清楚(aapoker下载)... 《总算清楚(aapoker下载)外挂透明挂辅助APP(透视)透视辅助(有挂方法)-哔哩哔哩》 aap...
透视美元局(Wepoke苹果版... 透视美元局(Wepoke苹果版本)外挂透明挂辅助工具(透视)软件透明挂(有挂细节)-哔哩哔哩准备好在...
透明插件!德州之星app(we... 透明插件!德州之星app(wePoKe)外挂透明挂辅助器安装(辅助挂)科技教程(有挂技巧)-哔哩哔哩...
分享认知(WPK最新版)外挂透... 分享认知(WPK最新版)外挂透明挂辅助器(透视)其实真的有挂(2021已更新)(哔哩哔哩)1、每一步...
实操分享(Wepoke控制)外... 实操分享(Wepoke控制)外挂透明挂辅助神器(辅助挂)发牌规律(有挂细节)-哔哩哔哩1、不需要AI...
实测必看(aapoker教程)... 实测必看(aapoker教程)外挂透明挂辅助器安装(辅助挂)辅助透视(今日头条)-哔哩哔哩1、很好的...