【问题标题】:Apache2.2 Allow access though one server onlyApache 2.2 只允许通过一台服务器访问
【发布时间】:2018-02-19 08:56:41
【问题描述】:

我正在做一个项目,它看起来很像这样:

  • 主站点
  • 存储服务器 [/directory/images/*.jpg]

我希望能够通过一个简单的标签从该目录中提取图像。这部分有效,但我想做的是拒绝每个人直接访问存储服务器。我试过只允许主站点 IP 连接,但这似乎也拒绝访问主站点服务器。

视觉解释:

客户>主站点仪表板>存储服务器

以粗体列出的经过身份验证的只能访问图像。必须拒绝其他所有人

【问题讨论】:

  • 请粘贴您的代码
  • @MohammedElhag <Directory /var/www/> Options FollowSymLinks MultiViews AllowOverride None Order Allow,Deny Allow from all </Directory>
  • @MohammedElhag 如果我将其更改为 Deny, Allow // Deny from all // Allow from x.xx.xx.xxx 那么我的主站点也不会显示它们

标签: .htaccess apache2 apache2.2


【解决方案1】:

试试这个代码:

RewriteEngine on 
RewriteRule \.jpg$ - [F]

这将阻止直接访问任何具有jpg 扩展名但您仍然可以调用它的图像,唯一的问题将来自浏览器缓存,如果有人右键单击图像并在浏览器中打开它,因此,如果您也想防止这种情况发生,请在上面添加以下代码:

<filesMatch "\.jpg$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多