Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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 Nginx反向代理服务器_Node.js_Nginx - Fatal编程技术网

Node.js Nginx反向代理服务器

Node.js Nginx反向代理服务器,node.js,nginx,Node.js,Nginx,我有两台Ubuntu服务器在digital ocean的同一位置运行,第一台作为Web服务器(nginx)运行,另一台作为应用服务器(Nodejs)运行 Web服务器通过私有ip发送请求,你们可以猜到应用服务器不允许直接请求 我的问题是,我在应用服务器中有image/upload目录,例如:/srv/upload/user\u images,我想从web浏览器中获取这些图像 例如:www.myappserveripaddress.com/srv/upload/user\u images/imag

我有两台Ubuntu服务器在digital ocean的同一位置运行,第一台作为Web服务器(nginx)运行,另一台作为应用服务器(Nodejs)运行

Web服务器通过私有ip发送请求,你们可以猜到应用服务器不允许直接请求

我的问题是,我在应用服务器中有image/upload目录,例如:/srv/upload/user\u images,我想从web浏览器中获取这些图像

例如:www.myappserveripaddress.com/srv/upload/user\u images/image1.jpeg

但是隐私将是唯一可以从外部访问的图像。没有人可以访问/srv/upload/user\u images/查看所有图像


我不知道这是否可能。只有用户知道图像名称,才能输入ip.com/srv/upload/user_images/imageName.jpg。如果可能,我该怎么办?

您必须在服务器之间编写api和客户端。逻辑是:最终用户想要访问图像。Nginx(可能是php)接收请求并向nodejs创建一个新请求。它检查图像路径并将图像返回给nginx,nginx将图像数据返回给客户端。

我不能100%确定我是否理解您的问题,但为了将用户链接到特定的图像集,您可以在图像名称后附加UserID

如果您有一个数据库,每次用户上载图像时,您也可以只保存他保存的图片的名称,然后在文件系统中保存图像时,您可以使用名称{UserID}-{imageName}.jpg保存它

在他的图片菜单上,他可以很容易地看到他上传的所有图片名称的列表。这些名称取自数据库,不是指向服务器上文件的链接。只有当他单击映像时,才会为名为/server/images/{UserID}-{imageName}.jpg的资源构造一个请求

此处的UserID可确保服务器中没有重复的图像名称

希望这有帮助。如果有任何错误,请告诉我