开启Apache server-status,并禁止直接通过服务器IP访问
当我们通过阿里云CentOS服务器部署网站后,往往遇到通过服务器IP地址就能直接访问到CentOS服务器。默认会提示一个页面,这里是宝塔的默认页面。
那么怎样禁止通过服务器IP地址直接访问到服务器呢?禁止后可以有效防止恶意解析。
1.需要打开Apache Server Status,也就是mod_status.so模块。
(1)打开的Apache配置文件httpd.conf。文件在:/www/server/apache/conf/httpd.conf
(2)确保其中有LoadModule status_module modules/mod_status.so,说明你的Apache已经加载了此模块。
如果Apache没有加载这个模块,如果是linux服务器,就得重新编译Apache,加上–enable-module=so参数即可;如果你是windows系统的话,无需任何编译,只要把刚才时候说的LoadModule status_module modules/mod_status.so这句加上,如果前面有带#号,开启的话,需要将#去除。
(3)配置Apache Server Status。宝塔一般打开mod_status.so模块后就不用再操作了。
<IfModule mod_status.c> <Location /server-status> SetHandler server-status Order deny,allow Allow from all </Location> </IfModule>
这是一个完整的server-status的配置。第一行的server-status表示以后可以用类似http://IP/server-status来访问,同时http://IP/server-status?refresh=N 将表示访问状态页面可以每N秒自动刷新一次;
<IfModule mod_status.c> ExtendedStatus On </IfModule>
这里ExtendedStatus On表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。
2.禁止直接通过IP访问
(1)新增一个virtual Host
打开文件:/www/server/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> ServerName 服务器IP地址 DocumentRoot / <Directory /> Order deny,allow Deny from all </Directory> </VirtualHost>
(2)重启一下Apache进程
/opt/IBMIHS/bin/apachectl -k stop -f /opt/IBMIHS/conf/httpd.conf /opt/IBMIHS/bin/apachectl -k start -f /opt/IBMIHS/conf/httpd.conf
(3)通过http://ip/server-status 查看是否可以打开,并访问到。
(4)浏览器直接打开 http://ip 应该会提示: