Nest Js:Webscoket反向代理

时间:2020-08-24 10:01:22

标签: node.js websocket graphql nestjs

我创建了一个运行在端口7777上的graphql订阅服务器,其HTTP / WebSocket协议的路径均为/ subscriptions / graphql,当我直接将URL与其他服务一起使用时,绝对可以正常工作。

    "id": "e68e915f-e684-4b95-820a-a670a7bea677",
    "appUserLogin": "Login9",
    "appUserPassword": "$2a$10$ENyk.YDPLn4zsq1JL6Nol.97kwIlZVAK7pCei8I9i6LhzMj52UAN.",
    "roles": [
        {
            "id": "7a8abe8d-ab02-4e00-a463-a7d23df05778",
            "name": "USER",
            "appUsers": [
                {
                    "id": "e68e915f-e684-4b95-820a-a670a7bea677",
                    "appUserLogin": "Login9",
                    "appUserPassword": "$2a$10$ENyk.YDPLn4zsq1JL6Nol.97kwIlZVAK7pCei8I9i6LhzMj52UAN.",
                    "roles": [
                        {
                            "id": "7a8abe8d-ab02-4e00-a463-a7d23df05778",
                            "name": "USER",
                            "appUsers": [
                                {
                                    "id": "e68e915f-e684-4b95-820a-a670a7bea677",
                                    "appUserLogin": "Login9",
                                    "appUserPassword": "$2a$10$ENyk.YDPLn4zsq1JL6Nol.97kwIlZVAK7pCei8I9i6LhzMj52UAN.",
                                    "roles": [
                                        {
                                            "id": "7a8abe8d-ab02-4e00-a463-a7d23df05778",
                                            "name": "USER",
                                            "appUsers": [
                                                {
                                                    "id": "e68e915f-e684-4b95-820a-a670a7bea677",
                                                    "appUserLogin": "Login9",
                                                    "appUserPassword": "$2a$10$ENyk.YDPLn4zsq1JL6Nol.97kwIlZVAK7pCei8I9i6LhzMj52UAN.",
                                                    "roles": [
                                                        { AND SO ON...

订阅服务器是微服务,就像我们拥有的其他服务一样。现在,我的目标是在网关中进行反向代理。我想为两个基于WebSocket的HTTP连接做一个反向代理。

为此,我编写了两个中间件,一个用于HTTP,一个用于Websocket。基于Http的中间件工作正常。 WebSocket无法正常工作。

基于Websocket的中间件

{{1}}

从UI发出websocket请求时,我遇到了错误

{{1}}

注意:我能够在中间件内部看到日志消息,这意味着中间件没有问题。我还看到单独的订阅服务也能正常工作。

0 个答案:

没有答案