Недавно мне пришлось перенести некоторый сайт, которому было почти 15 лет, учитывая, что новый URL-адрес
https://mynew.domain.com
, а старый сайт был https://myold.domain.com (Внутренний IP: 192.168.1.15, который не доступен в свободном доступе)
На старом сайте у него был каталог, называемый "sitefiles", в котором много подпапок и файлов, таких как изображения, файлы и т. Д.
то, чего я хочу достичь, это предположить, что если пользователь нажимает URL в браузере, который был запросом файла с расширениями из белого списка, такими как .jpg, .jpeg, .png, .pdf, .doc, .docx, .gif, .svg, например,, затем обслуживайте эти запросы с внутреннего IP
https://mynew.domain.com/sitefiles/events/somedirectory/somefile.jpg
https://mynew.domain.com/sitefiles/somedoc.jpg
Обратите внимание, что каталог sitefiles довольно большой и его вложенный, я не знаю какчтобы обойти это, в настоящее время я попробовал
ProxyPass /sitefiles/ http://192.168.1.15/sitefiles
ProxyPassReverse /sitefiles/ http://192.168.1.15/sitefiles
Но
- как мне сделать, чтобы белый список действительно был запросом для файлов из белого списка?
- абсолютный путьдля файла действительно не предсказуемо для меня, мы можем передать что-то вроде
ProxyPass %{REQUEST_URI} http://192.168.1.15/$1
Я также пытался, ниже того, который дает мне Плохой запрос, ваш браузер отправил запрос, что этот сервер не может понять
RewriteCond %{REQUEST_URI} ^/sitefiles
RewriteRule ^\/?(.*)$ http://192.168.1.15/$1 [P,L]
Выше того же самого, если я изменю [P,L]
на [R=301,L]
он правильно перенаправляет на другой сервер, не уверен, почему прокси не работает