Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在react with nginx中隐藏第三方api获取请求_Node.js_Reactjs_Docker - Fatal编程技术网

Node.js 如何在react with nginx中隐藏第三方api获取请求

Node.js 如何在react with nginx中隐藏第三方api获取请求,node.js,reactjs,docker,Node.js,Reactjs,Docker,我为api服务器设置了React应用程序和节点js,并将其部署在Docker上 如何使用nginx截获React api请求,并将其发送到node js server,同时不应从浏览器访问后端 请提供一些链接或github存储库。您可以指定哪些后端不应该从浏览器访问吗?后端无法从浏览器访问,如果您的意思是隐藏请求URI,则无法执行此操作,唯一的选择是对URI和丑陋代码进行编码我认为这是不可能的。React.js在浏览器中运行,因此如果无法从浏览器访问api,React也将无法访问。也许有办法在n

我为api服务器设置了React应用程序和节点js,并将其部署在Docker上

如何使用nginx截获React api请求,并将其发送到node js server,同时不应从浏览器访问后端


请提供一些链接或github存储库。

您可以指定哪些后端不应该从浏览器访问吗?后端无法从浏览器访问,如果您的意思是隐藏请求URI,则无法执行此操作,唯一的选择是对URI和丑陋代码进行编码

我认为这是不可能的。React.js在浏览器中运行,因此如果无法从浏览器访问api,React也将无法访问。也许有办法在nginx中“包装”React应用程序,并将请求转发给节点js?您可能需要查看服务器端渲染。然后,您可以在服务器上使用react呈现html,从那里进行所有api调用,但无法从浏览器访问api。只要在从服务器发送初始html响应之前可以进行所有api调用,这就可以工作。如果您需要向服务器发送用户输入,那么您所描述的是不可能的。这是基于浏览器的Web应用程序的主要限制之一。服务器根本无法区分来自应用程序的请求和来自用户的恶意请求。例如,在react app fetch('localhost:4000/api/get user')中,nodejs服务器应该处理此请求,但如果我在brwoser地址栏中输入localhost:4000/api/get user,服务器不应该回答任何问题。我是否可以在nginx中“包装”react应用程序,并将请求从react应用程序转发到nodejs?对不起,我说的是英语。@Shevtsov在这种情况下,您可以使用post方法,因为post url无法从地址BAR工作。我不认为这是可能的,因为您使用nodejs创建了api,从该api获取数据的唯一方法是获取数据(使用react),默认情况下,浏览器不负责为您获取api我回答了我从他的问题中理解的内容,但如果他指的是
后端中的其他内容不应从浏览器访问,那么如果他指定,我也可以回答。正如我承认的那样,他想要达到的目的是不可能的(我不喜欢这个词,但它确实是)