Windows搭建Nginx代理本地盘的文件(共享路径或本地路径)

news2024/12/27 17:08:33

文章目录

    • Windows搭建Nginx代理本地盘的文件 - 前言
      • 需求背景
      • 挂载网络共享路径
      • 检查连接状态
      • 下载Nginx
      • 编辑 Nginx 配置文件
      • 启动 Nginx
      • 检测Nginx是否成功启动
      • 使用方法
        • 远程共享路径示例
        • 本地文件示例
      • 测试

Windows搭建Nginx代理本地盘的文件 - 前言

在开发过程中,确保文件的安全性和便捷访问是非常重要的。由于 JavaScript 出于安全性考虑,不能直接读取本地文件系统上的文件,我们需要一种方法来安全、可靠地访问这些文件。使用 Nginx 作为代理服务器,是一种既简单又高效的解决方案。本指南将详细介绍如何在 Windows 系统上搭建 Nginx 服务器,并将本地磁盘上的文件通过 Nginx 代理进行访问。

需求背景

  1. 文件安全性:在开发过程中,直接暴露本地文件系统可能会带来安全隐患。通过 Nginx 代理,可以有效地隔离文件系统,增强安全性。
  2. JavaScript 限制:由于 JavaScript 不能直接访问本地文件系统,使用 Nginx 代理可以解决这一限制,使前端应用能够通过 HTTP 请求访问本地文件。

本指南将逐步讲解如何在 Windows 上安装和配置 Nginx,以便在开发过程中安全地代理和访问本地文件。

挂载网络共享路径

首先,确保网络共享路径已经成功挂载:

  1. 打开命令提示符(以管理员身份运行)。

  2. 使用 net use 命令挂载网络共享路径:

    net use Z: \\192.168.0.77\家庭共享 /user:your_username your_password /persistent:yes
    

请将 your_username 和 your_password 替换为适当的凭据。/persistent:yes 确保连接在重新启动后仍然存在。

这将把网络共享路径挂载到 Z: 盘,并且设置为持久性连接。

检查连接状态

再次检查连接状态:

net use

显示如下面所示表示OK。一直不用的话它会自动断开连接,但是再次使用时会连接上的,无需担心。

状态       本地        远程                      网络

-------------------------------------------------------------------------------
OK           Z:        \\192.168.0.77\家庭共享   Microsoft Windows Network
命令成功完成。

下载Nginx

推荐下载稳定版的:Nginx下载链接

下载解压文件。

编辑 Nginx 配置文件

找到nginx.conf文件,位置在D:\nginx-1.26.0\nginx-1.26.0\conf目录,每个人解压的文件可能有差距,仅供参考。
添加或修改以下内容:
(注意:如果不是共享路径的话只需要配置为需要代理的路径即可,比如:C:/本地文件/素材/;我使用的端口是61707,这个可以自己随便写个空闲的)

server {
    listen 61707;
    server_name localhost;

    location /files/ {
        alias Z:/思帆亚马逊影像素材/;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
}

效果图如下:只需替换原有的server内容即可。其他东西不要动。
在这里插入图片描述这个配置指定了一个服务器块,监听端口 61707,并设置了一个 location /files/ 块,将 URI 前缀 /files/ 映射到本地目录 Z:/思帆亚马逊影像素材/。此外,还启用了自动索引功能,以便列出目录内容。如果请求的文件不存在,则返回 404.html 页面。

启动 Nginx

在这里插入图片描述
如果遇到闪退的情况,大概率是端口被占用了,更换端口,重新启动。

也可以看下日志文件的内容,好定位问题所在。

在这里插入图片描述

检测Nginx是否成功启动

运行以下命令来列出当前正在运行的Nginx进程:

tasklist | findstr nginx

有显示内容表示启动成功,示例如下:

C:\Users\Administrator>tasklist | findstr nginx
nginx.exe                    26800 Console                    1      6,908 K
nginx.exe                    26764 Console                    1      7,436 K

使用方法

现在可以使用 URL 访问本地文件了。

远程共享路径示例

将以下网络共享路径:

\\192.168.0.77\家庭共享\思帆亚马逊影像素材\平面组\黎欣婷\海洋发夹4pcs\海洋发夹4pcs\zt1.jpg

替换为:

http://localhost:61707/files/平面组/黎欣婷/海洋发夹4pcs/海洋发夹4pcs/zt1.jpg

即可在浏览器中访问该文件。

本地文件示例

对于本地文件的访问方法也是类似的。假设本地文件路径为:

C:\本地文件\思帆亚马逊影像素材\平面组\黎欣婷\海洋发夹4pcs\海洋发夹4pcs\zt1.jpg

在浏览器中访问该文件的 URL 应为:

http://localhost:61707/files/平面组/黎欣婷/海洋发夹4pcs/海洋发夹4pcs/zt1.jpg

只需将本地文件路径中的盘符和前缀替换为 http://localhost:61707/files/,加上剩余的文件路径即可。这样,你可以通过浏览器访问本地文件,方便进行开发和调试。

例如:

  • 本地文件路径:C:\本地文件\思帆亚马逊影像素材\平面组\黎欣婷\海洋发夹4pcs\海洋发夹4pcs\zt1.jpg
  • URL 访问路径:http://localhost:61707/files/平面组/黎欣婷/海洋发夹4pcs/海洋发夹4pcs/zt1.jpg

通过这种方式,你可以在开发过程中轻松访问和展示本地文件或网络共享路径下的文件。

测试

在这里插入图片描述
有了URL那么在前端就可以通过img标签去使用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1707041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android13 基座充电屏保

屏幕保护有两个设置可选:默认为插入基座充电时 通过DreamBackend启用屏保,并且保存选择的时机 //QSSI.13\packages\apps\Settings\src\com\android\settings\dream\WhenToDreamPicker.java Override protected boolean setDefaultKey(String key) {mBac…

数组和特殊矩阵的压缩存储

文章目录 一维数组二维数组特殊矩阵对称矩阵三角矩阵三对角矩阵稀疏矩阵三元组法十字链表法 一维数组 以一维数组A[0...n-1]为例&#xff0c;其存储结构关系式为 LOC ⁡ ( a i ) LOC ⁡ ( a 0 ) i L ( 0 ⩽ i < n ) \operatorname{LOC}\left(a_i\right)\operatorname{LO…

AI手语研究数据集;视频转视频翻译和风格化功能如黏土动画;AI检测猫咪行为;开放源码的AI驱动搜索引擎Perplexica

✨ 1: Prompt2Sign 多语言手语数据集&#xff0c;便捷高效用于手语研究。 Prompt2Sign 是一个全面的多语言手语数据集&#xff0c;旨在通过工具自动获取和处理网络上的手语视频。该数据集具有高效、轻量的特点&#xff0c;旨在减少先前手语数据集的不足之处。该数据集目前包含…

基于springboot+vue的公司资产网站(全套)

一、系统架构 前端&#xff1a;vue2 | element-ui 后端&#xff1a;springboot | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | node 二、代码及数据库 三、功能介绍 01. 管理后台-登录 02. 管理后台-首页 03. 管理后台-个人中心-修改密码 04. 管理后台-个人…

CentOS7 部署单机版 ElasticSearch + Logstash

一、部署ElasticSearch Elasticsearch部署参考下面文章&#xff1a; CentOS7 部署单机版 elasticsearch-CSDN博客文章浏览阅读285次&#xff0c;点赞6次&#xff0c;收藏3次。ElasticSearch&#xff0c;用于检索、聚合分析和大数据存储https://blog.csdn.net/weixin_44295677…

N1912A P 系列双通道功率计

N1912A 双通道功率计 产品综述 <<<P 系列双通道功率计>>> Keysight N1912A P 系列双通道功率计可以提供峰值功率、峰均比、平均功率、上升时间、下降时间 NS 脉冲宽度测量。 “ 功能特点 30 MHz 视频带宽 能够以高达 100 MSa/s 的采样率执行单次实时捕…

从华为云OBS到AWS云上S3:迁移及相关事项

随着云计算的快速发展&#xff0c;企业越来越倾向于将数据存储和管理移到云端。华为云的对象存储服务&#xff08;OBS&#xff09;和亚马逊云服务&#xff08;AWS&#xff09;上的简单存储服务&#xff08;S3&#xff09;是两个备受欢迎的选择。对于那些考虑从华为云OBS迁移到A…

OrangePi AIpro 变身 Android 打包机

主板基本信息介绍 OrangePi AIpro&#xff0c;是香橙派联合华为精心打造&#xff0c;建设人工智能新生态而设计的一款开发板&#xff0c;这次为大家分享下我上手的这款 OrangePi AIpro 8GB&#xff08;算力达8TOPS&#xff09; 的一些小小的经验。 基本参数如下&#xff1a; …

【亲测有效】发现了适用于Mac用户的ChatGPT客户端登陆方法

项目场景&#xff1a; Mac用户的ChatGPT客户端登陆 问题描述 无法使用 解决方案&#xff1a; 1.下载登陆ChatGPT客户端 https://persistent.oaistatic.com/sidekick/public/C...https://persistent.oaistatic.com/sidekick/public/ChatGPT_Desktop_public_latest.dmg 2.登陆…

设计模式 21 备忘录模式 Memento Pattern

设计模式 21 备忘录模式 Memento Pattern 1.定义 备忘录模式是一种行为型设计模式&#xff0c;它允许你将一个对象的状态保存到一个独立的“备忘录”对象中&#xff0c;并在之后恢复到该状态。 2.内涵 主要用于以下场景&#xff1a; 需要保存对象状态以备恢复&#xff1a; 当…

Kubernetes集群调度

一.List-Watch 1.调度约束 Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 P…

【OCPP】ocpp1.6协议第3.13章节SmartCharging介绍及翻译

目录 3.13 SmartCharging智能充电-概述 智能充电的目标 关键功能 消息类型 负载管理 动态电量配置 总结 3.13 SmartCharging智能充电-译文 3.13.1 Charging Profile Purpose充电配置的目的 3.13.2 Stacking charging profile堆叠充电配置 3.13.3 Combining charging profile pu…

如何在线转换图片的格式?一键修改图片格式的方法

图片是日常生活和工作中的一种常用的内容展示类型&#xff0c;在使用图片的时候不同用途需要使用的图片格式也是不同的&#xff0c;比如我们手中有一张jpg格式图片&#xff0c;但是平台上传要求格式是png&#xff0c;那么怎样才能将jpg转png格式呢&#xff1f;下面将教大家图片…

前端面试:项目细节重难点问题分享

面试官提问&#xff1a;我现在给你出一个项目实际遇到的问题&#xff1a;由于后端比较忙&#xff0c;所以我们这边的列表数据排序需要前端最近实现&#xff0c;那你会怎么实现排序呢&#xff1f; 答&#xff1a;我的回答&#xff1a;确实&#xff0c;数据都是由后端实现的&…

2024年上半年软件设计师试题及答案(回忆版)--选择题

基础知识选择题 基础知识选择题 1,2,3][4,5,6][1,2,3,4,5,6] &#xff08;总&#xff1a;1分&#xff09; &#xff08;注意&#xff1a;括号内的是截止当前题目总分&#xff09; vlan不能隔绝内外网 &#xff08;2分&#xff09; 链路层使用交换机&#xff0c;…

关于已配好java环境但双击无法打开jar包的解决方案

如果你已经装好了 java 环境直接跳到最后看解决方法即可 先说一下你安装的 java 环境&#xff0c;如果完全是默认选项安装&#xff0c;则会安装 jdk 和 jre&#xff0c;并且在安装 jre 时还需要安装目录下为空&#xff0c;其实 jre 的安装是多余的&#xff0c;因为安装的 jdk 里…

Integer包装类

面试题&#xff1a; 自动装箱:把基本数据类型会自动的变成其对应的包装类 自动拆箱:把包装类自动的变成其对象的基本数据类型 package Integer;public class Demo {public static void main(String[] args) {Integer i 10;String binaryString Integer.toBinaryString(i);Str…

pyqt QLineEdit单行文本框控件

pyqt QLineEdit单行文本框控件 介绍效果代码 介绍 QLineEdit 是 PyQt中的一个控件&#xff0c;用于输入和编辑单行文本。它允许用户输入和编辑一行纯文本&#xff0c;并提供了许多有用的功能&#xff0c;如文本验证、密码输入&#xff08;显示为点或星号&#xff09;、自动完成…

ICode国际青少年编程竞赛- Python-6级训练场-递归入门

ICode国际青少年编程竞赛- Python-6级训练场-递归入门 1、 def recur(n):# 边界条件if n<1:return# 额外动作Dev.step(n)Dev.turnRight()# 递归调用recur(n-1)recur(8)2、 def recur(n):# 边界条件if n<1:return# 额外动作Dev.step(n)Dev.turnLeft()# 递归调用recur(n-1)…

一些Spring的理解

说说你对Spring的理解 首先Spring是一个生态&#xff1a;可以构建企业级应用程序所需的一切基础设施 但是&#xff0c;通常Spring指的就是Spring Framework&#xff0c;它有两大核心&#xff1a; IOC和DI 它的核心就是一个对象管理工厂容器&#xff0c;Spring工厂用于生产Bea…