首页 > 解决方案 > NodeJS 和 Nginx - 如何打开 url?

问题描述

我正在尝试使用此包打开 url 。它在本地工作,但如果我尝试在我部署的应用程序上使用相同的东西,它不起作用,它只是跳过那部分,或者看起来像那样,因为它返回一条消息,但它没有打开 url。是否应该为此在服务器上配置一些东西?

例如,我正在尝试这样做

        const authorizeUrl = oauth2Client.generateAuthUrl({
            access_type: 'offline',
            scope: scopes,
        });
        try {
            opn(authorizeUrl, { wait: true }).then(cp => {
                console.log('cp', cp)
                const server = http
                    .createServer(async (req, res) => {
                        try {
                            if (req.url.indexOf('/callback') > -1) {
                                const qs = new url.URL(req.url, `${process.env.SERVER_API_URL}`)
                                    .searchParams;
                                res.end(
                                    'Authentication successful! Please return to the console.'
                                );
                                server.destroy();
                                const { tokens } = await oauth2Client.getToken(qs.get('code'));
                                oauth2Client.credentials = tokens;
                                resolve(oAuth2Client);
                            }
                        } catch (e) {
                            reject(e);
                        }
                    })
            });
            return res.send({ msg: 'okay' })

它在本地工作,但在部署的应用程序上它只返回“ok”。如果我使用回调或其他方式返回消息,它只会阻塞并导致超时。

标签: javascriptnode.jsnginx

解决方案


推荐阅读