怎么做一个文件/软件管理服务器

前言



由于要使运维工作更加的规范,于是要对一些操作进行统一和调整
例如一些软件的安装包(tar.gz zip rpm Centos镜像),对这些文件按版本进行整理,可以做一个类似镜像网站

首先最低满足以下需求:
<1>要对日常或工作中需要的软件的安装包的存放位置,上传下载方式进行统一,使其不在散乱
上传通过个人jumpserver账号 下载通过wget

<2>在不同的局域网或网络环境下,凡是可以访问公网的,都可以使用这边提供的域名或url进行下载,避免某些环境软件的时候还得rzsz等方式下载

<3>使用浏览器访问或wget下载,并且需要用户名和密码的验证

<4>满足临时传文件的需求,放到对应目录就能下载



方案一


云盘


看到上面的要求有时候可能会想到云盘,但是大部分开源的云盘为了安全或者 更好的查看文件的需求,需要下载客户端.在一个封闭的局域网并且也许不存在桌面的情况下,需要下载对应客户端的软件并登陆,是一件麻烦的事情。像python yum curl一样使用命令行可直接进行下载或安装是最方便的。但是如果你没有 具有复杂局域网环境(防火墙及各种限制)的 用户,使用云盘也不错。



方案二


nginx代理FTP服务


通过配置一台或几台ftp通过nginx使用代理出去,使用这个方法可以实现身份认证和wget下载等需求,并且还有 目录的界面

但是存在一些缺点:
FTP本身存在的一些安全隐患;
FTP被动模式下,端口范围较宽,Nginx配置麻烦,且nginx也要开放较多端口,设置iptables繁杂
这边并不需要和允许用户去上传文件

如果放到公网访问绝对不考虑,如果是个人内网使用也可以



方案三


nginx代理访问本地文件资源


使用ngx_http_auth_basic_module身份认证,
ngx_http_limit_conn_module 限制速度和访问

这2个一般是默认开启的,除非是编译的时候关闭了



<1>生成加密后的密码



<2>安装并配置nginx或openresty





补充:
limit_conn_zone $binary_remote_addr zone=addr:10m;
addr就是这个zone的命名,任意起名称,但是需要全局唯一,不可以和其他的limit_conn_zone的相同

$binary_remote_addr限制同一客户端ip地址
$server_name限制同一server最大并发数
limit_conn限制并发连接数
limit_rate限制下载速度



<3>浏览器访问,输入账号和密码

怎么做一个文件/软件管理服务器

<4>wget下载方式



方案四


nginx代理tomcat


这个方案和前面的一个基本相似
当资源在别的服务器的时候,部署tomcat,nginx再代理tomcat服务

优点:方便nginx代理做高可用和负载均衡



<1>在资源所在的服务器部署tomcat和java

建议:
tomcat7 or tomcat8
jdk 1.8



<2>server.xml配置



<3>软链配置(可选)

如果你的项目或代码所在的目录中有软链接,需要开启软链配置
https://blog.csdn.net/GX_1_11_real/article/details/91956016

这种常见于通过nfs挂载过来的资源



<4>web.xml

允许显示目录和文件列表,默认是禁止的

来源:漠效

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月24日
下一篇 2022年3月24日

相关推荐