Назад | Перейти на главную страницу

Проблемы с хотлинкингом обратного прокси-сервера

У меня возникла следующая проблема:

У меня есть внешний прокси-сервер, указывающий на мой внутренний сервер. Кто-то увеличивает пропускную способность моих изображений, поэтому я хочу, чтобы этого не произошло. Я использую файл proxy.conf следующего вида:

server {
  listen 80;

  server_name site1.com www.site1.com;
  server_name site2.com www.site2.com;
  server_name site3.com www.site3.com;
  server_name site4.com www.site4.com;
  server_name site5.com www.site5.com; 


  location / {
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://IP-back-end-server.com;
  }

  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/html;
  }
}

Я попытался разместить его конфигурацию на своем прокси-сервере переднего плана:

    #hotlinking protection
location ~* \.(png|gif|jpg|jpeg)$ {
valid_referers none blocked site1.com www.site1.com;
valid_referers none blocked site2.com www.site2.com;
valid_referers none blocked site3.com www.site3.com;
valid_referers none blocked site4.com www.site4.com;
if ($invalid_referer){
return 403;
}
}

но в результате все изображения были заблокированы, включая мои указанные домены: site1.com site2.com site3.com site4.com

Второй вариант, я попытался заблокировать настоящий htaccess на своем внутреннем сервере:

RewriteCond "%{HTTP_REFERER}" "!^$"
RewriteCond "%{HTTP_REFERER}" "!www.site1.com" [NC]
RewriteRule "\.(gif|jpg|png)$"    "-"   [F,NC]

в итоге ничего не получилось, все картинки были выведены на хотлинкинг. Пожалуйста, помогите мне в этой ситуации. Спасибо