内网环境使用python快速搭建文件服务器并映射到外网

2023-12-15 16:02:11

一、背景

在银行的内网环境,需要把文件传送到外网,但是走行内正式的审批流程,效率很低。目前已经申请了外网域名,通过nginx可以访问到内网的服务器,因此思考,通过这个外网域名借道,在内网linux上搭建一个外网可以访问的文件服务器。

二、环境检查

登录监听域名的nginx服务器,通过命令

python --version

可知当前服务器已经安装了python的2.7.5版本

三、步骤实施

1.修改nginx配置

进入nginx的配置文件(一般是nginx.conf),在监听域名的http模块下,新增server配置:

server {
    listen 80;
    server_name your_external_domain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

1.其中your_external_domain.com 替换为你的外部域名,或者外部域名转发到的服务器路径
2.proxy_pass 是你的文件服务器地址,例如localhost:8080表示你在nginx的服务器启动,且启动端口是8080
3.这里的/表示根目录文件,你可以指定其它,例如/app,但是一定要保证该服务器上存在该路径,我刚开始不知道,随便设置了个/file,结果服务器/根目录下 ,根本没有这个文件夹,客户端访问就一直报错,404路径不存在;后来通过在服务器上curl http://localhost:8080/,查看根目录,nginx改成/app后才好的

2.python启动文件服务器

python的2.7.5版本通过命令

python -m SimpleHTTPServer 8080 /path/to/your/directory

启动文件服务器,
1.其中/path/to/your/directory 用来设置为文件服务器的根目录路径,可以不写。如果在启动 Python 2.7.5 的文件服务器时没有指定根目录路径,那么文件服务器将默认使用当前工作目录作为根目录。换句话说,如果没有指定路径,文件服务器将会将当前工作目录作为根目录,并提供该目录下的文件内容。
2.启动的ip和端口,要和nginx配置中指定的proxy_pass对应,我这里是对应的是http://localhost:8080

文章来源:https://blog.csdn.net/wwwvipp/article/details/134935324
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。