Обратные проблемы хотлинкинга прокси-сервера - PullRequest
0 голосов
/ 19 февраля 2020

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

Есть внешний прокси-сервер, который указывает на мой внутренний сервер. Кто-то ворует полосу через мои изображения, поэтому я хочу, чтобы это не происходило. Я использую файл 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]

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

...