本文是针对在linux平台下用apache搭建互联网web服务器、同时没有专业的防火墙设备的用户。

在这种网络环境下可能会有这样的需求:大多数的数据你是希望通过web服务器分享给所有用户;但是对于一些特殊的数据(如公司远程共享内部资料),或者对于一些特殊的web监控(如mysql的phpmyadmin应用)你只想让特定IP地址的用户访问。

下面讲述用apahce的rewrite规则来实现限制其它IP允许特定IP地址访问特定虚拟主机服务,原理如下:

在web服务器上建立两个不同的apahce虚拟主机,一个对公共用户(所有的用户),一个只针对特殊的IP地址用户可以访问。假设sodone_manage是针对特定IP的可访问虚拟主机的根目录,虚拟主机对应的域名为 phpmyadmin.sodone.com。

我们还是用.htaccess的文件来实现rewrite。具体的.htaccess设置详见两种apache域名跳转法简单完成重定向中的“2.用.htaccess做域名跳转”。

我们只要在.htaccess文件中增加下面的内容就实现了功能:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^61.148.202.81 [NC]
RewriteCond %{HTTP_HOST} ^phpmyadmin.sodone.com [NC]
RewriteRule ^(.*) default [R=404]

上面的4行代码实现当61.148.202.81这个IP访问phpmyadmin.sodone.com时,才可以访问到sodone_manage目录下来的业务数据;或者可以把phpmyadmin等应用程序放到sodone_manage目录中,只有61.148.202.81这个IP才能通过phpmyadmin.sodone.com来管理WEB服务器。其它任何IP地址访问phpmyadmin.sodone.com都会出现404错误页面。

当然你也可以不用404错误页,可以用RewriteRule把其它访问重定制到一个其它网址。

作者: SoDone酥蛋
原文地址:http://www.sodone.com/allow-specific-ip-address-apahce-web-security/

转载请注明作者与原文地址信息。

转载于:https://blog.51cto.com/sodone/1319703

通过允许指定IP访问apahce虚拟主机加强服务器安全相关推荐

  1. Apahce虚拟主机与伪静态

    Apahce虚拟主机与伪静态 Apache虚拟主机一般在配置多域名的时候使用虚拟主机,比如说在一个服务器配置很多的网站.那就需要多个配置来保证域名访问的网站的内容和源代码和源代码是不一样的. 首先进入 ...

  2. apache基于ip如何配置虚拟主机

    这篇文章将为大家详细讲解有关apache基于ip如何配置虚拟主机,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获.  首先我们用记事本打开httpd.conf文件 ,该 ...

  3. 使用apache配置基于IP地址的虚拟主机

    使用apache配置基于IP地址的虚拟主机 第一步:设置多个IP地址 这里设置两个IP地址:192.168.1.5 和 192.168.1.8 第二步:在 httpd.conf 文件中加入如下内内容 ...

  4. 允许指定IP访问远程桌面

    允许指定IP访问远程桌面 电脑软件 2010-01-23 02:33:40 阅读595 评论0   字号:大 中 小   订阅 一.新建IP安全策略 WIN+R打开运行对话框,输入gpedit.msc ...

  5. 防火墙规则,指定ip访问mysql数据库3306端口

    防火墙规则,指定ip访问mysql数据库3306端口 # 防火墙脚本,vi编辑保存 vi /etc/forward #!/bin/sh echo "starting forward...&q ...

  6. linux firawll防火墙设置白名单/指定ip访问指定端口

    ** linux firawll防火墙设置白名单/指定ip访问指定端口 firewall常用操作命令 1.查看防火墙状态 systemctl status firewalld 2.开启防火墙 syst ...

  7. linux 防火墙 阻止ip_linux iptables防火墙如何禁止指定IP访问

    一般来说网站都是流量越多就越开心,不过也不是所有流量都这么受欢迎的.比如说攻击你的流量,再比如说采集器的流量,这些流量对你的网站没半点好处,除了拖累你的服务器,还白白占用你大量的带宽,更是影响正常访客 ...

  8. 指定ip地址和端口号登录mysql数据库_防火墙规则,指定ip访问mysql数据库3306端口...

    防火墙规则,指定ip访问mysql数据库3306端口 2019年12月08日 阅读数:6 这篇文章主要向大家介绍防火墙规则,指定ip访问mysql数据库3306端口,主要内容包括基础应用.实用技巧.原 ...

  9. 公司open*pn-可以链接多个账号,并且指定ip访问对应*pn账号

    *=v; 1.链接多个账号相关命令配置: window命令:安装完成后默认会有一个TUN adapter和一个TAP adapter,查看当前节点 openvpn --show-adapters### ...

  10. 虚拟主机1服务器,虚拟主机1服务器

    虚拟主机1服务器 内容精选 换一换 鲲鹏BoostKit ARM原生使能套件(简称:鲲鹏BoostKit ARM原生)总体架构主要由:硬件平台.主机OS.虚拟化层.Guest OS层组成.鲲鹏Boos ...

最新文章

  1. linux dentry 存储,dentry与dentry_cache
  2. QT中利用Qlabel显示当前的时间:年-月-日-时-分-秒-星期
  3. 使用C语言将一个数组首尾互换后输出,函数实现体会地址传递
  4. 天猫广告业务独立运营
  5. 你敲键盘的声音,出卖了你 | 附开源代码
  6. 现代化多媒体教室的计算机系统,多媒体教室系统建设方案
  7. 开源项目objective-zip
  8. html标题%3ctitle%3e,What's a valid HTML5 document?
  9. mysql 超时异常捕获_Mysql的链接超时异常CommunicationsException
  10. oracle 能被2整除_整除专题基础篇 “刀法四式”
  11. java面试题:数组的常用算法实现
  12. pygame小游戏——英语单词挑战
  13. 使用夜神模拟器完美破解(反编译)微信小程序以及问题汇总
  14. 6.形容词性物主代词用法
  15. C# 多个点拟合圆并给出圆心坐标
  16. Pytho学习(3)——注释
  17. NETDMIS5.0多点偏置平面建坐标系2023
  18. 前端模板template-web简单使用
  19. 余三码 2020-12-30
  20. 简单移位密码——凯撒加密、解密算法

热门文章

  1. 转为字符数组_py字符打印照片
  2. pie函数--Matplotlib
  3. 条件随机场(CRF)小结
  4. bfc -- 块级格式化上下文
  5. leetcode-884-两句话中的不常见单词
  6. OracleLinux6的安装
  7. dubbo源码系列之filter的前生
  8. C# MP3操作类,能播放指定的mp3文件,或播放嵌入的资源中的Mp3文件
  9. 物联网技术对于智慧生活24小时改变
  10. 学习JAVA环境搭建之下载安装MyEclipse 6.5