内网环境使用python快速搭建文件服务器并映射到外网
一、背景
在银行的内网环境,需要把文件传送到外网,但是走行内正式的审批流程,效率很低。目前已经申请了外网域名,通过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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!