繁体   English   中英

Cloudflare和mod_proxy

[英]Cloudflare and mod_proxy

我已经在使用mod_proxy从example-domain.com重定向到example-domain.com:8080,并且在没有CloudFlare(保留代理)的情况下也能正常工作...但是在CloudFlare中,它只是向被禁止的IP响应了1000个DNS点。 有机会摆脱困境,仍然使用CloudFlare保护自己吗? 我不希望该地址使用mod_rewrite http://example-domain.com:8080显示类似的内容,这就是为什么我要重定向的原因,因为无法在80端口托管,所以那里没有任何更改。

我的虚拟主机配置:

    <Directory /var/www/example-domain.com>
            AllowOverride None
            Require all denied
            </Directory>

    <VirtualHost *:80>
            DocumentRoot /var/www/example-domain.com/web

            ServerName example-domain.com
            ServerAlias www.example-domain.com 
            ServerAlias alias.example-domain.com
            ServerAdmin webmaster@example-domain.com
            ProxyPreserveHost On
            ProxyRequests Off

            <Proxy *>
              Order deny,allow
              Allow from all
            </Proxy>

            ProxyPass / http://example-domain.com:8080/
            ProxyPassReverse / http://example-domain.com:8080/

    </VirtualHost>

无论您通过哪个端口访问CloudFlare,CloudFlare都倾向于首先尝试端口80/443。 如果它可以在自己的代理过程中连接到这些端口,则它会在此处停止,然后不尝试实际使用的端口(在您的情况下为8080)。

因此,这看起来像是一个循环循环,您将来自CloudFlare的请求指向代理,以通过CloudFlare指向端口8080上的服务器。然后,CloudFlare剥离端口8080并通过普通连接进行连接。

解决此问题的最佳方法是简单地将ProxyPass设置为通过不通过CloudFlare网络或本地主机运行的URL。

因此,可以将VirtualHost中的ProxyPass更改为:

        ProxyPass / http://direct.example-domain.com:8080/
        ProxyPassReverse / http://direct.example-domain.com:8080/

如果direct.example-domain.com无法通过CloudFlare网络进行路由(CloudFlare DNS中的灰色云,前提是您要进行全主机CloudFlare设置)。

或者,更改您的代理通过以通过本地主机:

        ProxyPass / http://127.0.0.1:8080/
        ProxyPassReverse / http://127.0.0.1:8080/

玩得开心!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM