[英]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.