项目描述
本项目是一个基于Java程序设计语言编写的Web服务器,能够支持解析基本的HTTP协议中的GET方法,响应Web客户端的请求,并生成相应的响应报文返还给Web客户端。并在Web服务器的主机上部署了相应的网页防篡改机制,能够有效地防止存储在远端服务器主机上的网页源文件被恶意篡改。
除此之外,我们还提供了部署在管理员远端的配置管理工具。配置管理工具通过SSH协议建立了一个管理员客户端与远程服务器主机的安全通信,管理员通过配置管理工具设置Web服务器监听的端口、日志、网页源文件运行的目录,并且可以进行网页源文件上传等功能。
开发环境配置
本项目使用了版本为1.8的JDK,并在编译配置管理工具时应用到了Java第三方包JSCH。远程测试服务器端运行的系统为Ubuntu 16.04。
如何运行
首先,需要将已经打包好的Web服务器程序jar包上传至远程服务主机的某一运行目录下,并在该目录下创建一个用于存放网页源文件的目录。初次运行Web服务器程序时,Web服务器会自动探寻当前目录下是否存在config.ini配置文件,若该文件不存在,Web服务器程序会自动生成默认的配置文件。
当Web服务器程序在服务器主机上部署完成之后,管理员通过配置管理工具连接到远程服务器主机,通过接收用户键的端口号、运行主目录生成Web服务器的配置文件,并将该文件上传至服务器上,将Web服务器程序重新启动实现更改Web服务器监听的端口。
注:Web服务器程序不允许用户直接在远程主机上对网页源文件进行修改,将任何对网页源文件的修改视作网页源文件已经被篡改,用户只能通过配置管理工具上传网页文件源码。
如何对服务器进行管理
配置好java环境即可点击Powehi.jar来对服务器进行管理。
首先需要进行登录,输入服务器的地址、用户名和密码,登录成功后即可看到相应的管理界面。管理页面使用方法如下:
选择文件页面:点击选择即可选择本地文件,然后在文件路径页面键入文件将要上传到的路径,点击确定即可完成上传。
日志页面:点击日志页面来查看服务器的访问日志,以及站点统计信息。
配置页面:输入端口号,运行主目录,默认页面,即可进行修改。修改默认页面时,如果服务器上不存在该文件,则需要首先进行上传相关文件。
https://github.com/gitergreat/WebServer