【发布时间】:2014-08-07 08:45:03
【问题描述】:
在 apache 或通过任何其他方式,可以代理到我的网站,从而在他的 URL 中显示我的全部内容。
以apache2为例,配置如下
ProxyPass / http://myawesomewebsite.com/
ProxyPassReverse / http://myawesomewebsite.com/
他(坏人)提供我所有的内容,就好像它是他的一样。我该如何预防。我相信我需要发送重定向请求,但在什么基础上,需要什么配置来做到这一点。目前我有以下。我注意到,Google 这样做了,Facebook 也这样做了,其他所有人都这样做。
<VirtualHost *:80>
ProxyPreserveHost On
ServerName www.myawesomewebsite.com
ServerAdmin me@myawesomewebsite.com
DocumentRoot /var/www/html
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthCecker.*
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.myawesomewebsite\.com
RewriteRule . https://www.myawesomewebsite.com%{REQUEST_URI} [R=301,L]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass /biz/ http://localhost:8080/
ProxyPassReverse /biz/ http://localhost:8080/
ProxyPass / http://10.0.0.12/
ProxyPassReverse / http://10.0.0.12/
</VirtualHost>
谢谢。
【问题讨论】:
标签: apache url-rewriting http-redirect