Apache 当有人在他的站点上为我的站点创建反向代理时,如何发送重定向请求?

Apache 当有人在他的站点上为我的站点创建反向代理时,如何发送重定向请求?,apache,url-rewriting,http-redirect,Apache,Url Rewriting,Http Redirect,在apache或任何其他方式中,可以代理到我的网站,从而在他的URL中显示我的全部内容 例如,在apache2中,使用以下行进行配置 ProxyPass / http://myawesomewebsite.com/ ProxyPassReverse / http://myawesomewebsite.com/ 他(坏人)把我所有的东西都当作是他的。我如何预防它。我相信我需要发送一个重定向请求,但是在什么基础上,需要什么配置才能发送。目前我有以下几点。我注意到,谷歌、Facebook和其他所有人

在apache或任何其他方式中,可以代理到我的网站,从而在他的URL中显示我的全部内容

例如,在apache2中,使用以下行进行配置

ProxyPass / http://myawesomewebsite.com/
ProxyPassReverse / http://myawesomewebsite.com/
他(坏人)把我所有的东西都当作是他的。我如何预防它。我相信我需要发送一个重定向请求,但是在什么基础上,需要什么配置才能发送。目前我有以下几点。我注意到,谷歌、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>

代理主机
服务器名www.myawesomewebsite.com
服务器管理员me@myawesomewebsite.com
DocumentRoot/var/www/html
重新启动发动机
重写cond%{HTTP:X-Forwarded-Proto}!https
RewriteCond%{HTTP\u USER\u AGENT}^埃尔布·塞克*
重写cond%{HTTP_HOST}。
重写cond%{HTTP_HOST}^www\.myawesome网站\.com
重写规则。https://www.myawesomewebsite.com%{REQUEST_URI}[R=301,L]
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
代理通行证/商务/http://localhost:8080/
ProxyPassReverse/biz/http://localhost:8080/
ProxyPass/http://10.0.0.12/
ProxyPassReverse/http://10.0.0.12/

谢谢。

我可以通过检查配置中的主机名来执行重定向。以下是使用的配置

<VirtualHost *:80>
    ServerName www.myawesomewebsite.com
    ServerAdmin me@myawesomewebsite.com
    DocumentRoot /var/www/html
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    RewriteEngine   On
    RewriteCond     %{HTTP_USER_AGENT} !^ELB-HealthChecker.*
    RewriteCond     %{HTTP_HOST}   !^www\.myawesomewebsite\.com$ [OR] [NC]
    RewriteCond     %{HTTP:X-Forwarded-Proto} !https [NC]
    RewriteRule     ^(.*)$   https://www.myawesomewebsite.com$1   [R=301,L]

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ProxyPass /biz/ http://10.0.0.12:8080/
    ProxyPassReverse /biz/ http://10.0.0.12:8080/

    ProxyPass / http://10.0.0.12/
    ProxyPassReverse / http://10.0.0.12/
</VirtualHost>
我想,如果谷歌还没有做到这一点,我就不必担心这一点。然而,我确实知道它可能带来的影响。有人能告诉我这会有什么样的风险吗

谢谢

SSLProxyVerify none
SSLProxyEngine On
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

RewriteEngine   On
RewriteCond     %{HTTP_USER_AGENT} !^ELB-HealthChecker.*
RewriteCond     %{HTTP_HOST}   !^www\.awesomewebsite\.com$ [OR] [NC]
RewriteCond     %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule     ^(.*)$   https://www.awesomewebsite.com$1   [R=301,L]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

ProxyPass / http://www.google.com/
ProxyPassReverse / http://www.google.com/