Tag Info

Hot answers tagged

9

CloudFlare, in most cases, does not cache HTML. This is because we don't want to show stale dynamic content. That said, the system can help the performance of even dynamic content in four primary ways: CloudFlare can route traffic over preferred network routes that are often more efficient than what a request would normally take. For sites that get a lot ...


7

Yes, it's a caching reverse proxy. "It depends". By default only things like images and CSS are cached, but you can set the cache level per zone and set Page Rules to override what is cached or should not be cached. Static HTML can be forced to be cached by a page rule, but dynamic content obviously cannot. The exception here is if you have the Business or ...


5

Great question! This can actually be done, but it's relatively tricky. Tumblr has made it very clear that they don't want you to do this. They have silently broken CloudFlare integration a while back, where everyone who did this reverse proxy stuff with CloudFlare has basically gotten booted off of their custom domain name without any warning. (Keep in ...


4

You're correct. RED implemented the requirements from HTTPbis http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-18#section-4.1. Normally, HTTPbis requirements are backwards-compatible with RFC2616 (i.e., they don't make implementations that were conformant to 2616 non-conformance now), but this change slipped through -- we'll be opening an issue ...


3

That's not what the FAQ says: CloudFlare does not cache HTML, we only cache static files like images, CSS or Javascript. So if your HTML content is constantly changing, CloudFlare will not affect this content. It won't slow down your dynamic content–or help it, either–because they don't do anything with it. (If you read something else that conflicts ...


3

No, Last-Modified is not required, as you cited from RFC 2616. I've found this issue https://github.com/mnot/redbot/issues/61 in which they implemented the check for required headers. However, they stated in the issue that only "Date" was required, but the implementation was different (by mistake, I think).


3

To redirect requests for assets on your local machine only To get your local machine to use local files for certain JavaScript or CSS assets requested from a remote server, you could use an HTTP proxy/interception tool such as Charles. (Mac, Windows, and Linux. 30-day demo, then $50 to buy.) To set up Charles to listen for remote requests and serve local ...


3

You could use a reverse proxy via mod_proxy. The Apache Httpd configuration would be along these lines: ProxyPass /6666/ http://localhost:6666/ <Location /6666/> ProxyPassReverse /6666/ Order deny,allow Allow from all </Location>


2

Stick with the same port. Port numbers are only used to initiate a connection, then they are moved to a pseudo-random port that's really high and likely not in use. The data transfer does not happen on port 80 for example. (To test this, run iptraf on your server and then download a large file from another computer. You'll notice that it's probably in the ...


2

In fact, modproxy is the solution. Here's what I have done: Set up Wix site to a dummy URL (both in wix and in your DNS), e.g. www.dummy.com Set up an Amazon EC2 instance, in /etc/httpd/conf/httpd.conf <VirtualHost *:80> ServerName www.real.com ProxyPass / http://www.dummy.com/ </VirtualHost> point www.real.com to your EC2 restart ...


2

(from our emails, just to answer the question for future users) Looking at your last line (access log) it seems that people are exploiting a remote-file-inclusion hole, rather than proxying via Apache directly. But you can be sure of this by forcing all possible proxy capabilities to be disabled. You can try yourself to use your server as a proxy to access ...


2

Here is what happens when a user makes a request to your site: They do a DNS lookup for yourdomain.example.com which tells them it is a CNAME of SOMETEXTXXXX.dv.googlehosted.com They do a DNS lookup for SOMETEXTXXXX.dv.googlehosted.com and get the IP address 1.2.3.4 The browser opens a HTTP connection to 1.2.3.4 and sends the header: host: ...


2

Your first log snippet suggests that the file may actually exist, since nginx response is 200, with 731 bytes of payload data, so, don't be too fast to have it blocked. However, if you want to have such requests omitted from logs, you can use the following in all servers affected: location = /wpad.dat { access_log off; log_not_found off; } Or, ...


2

Just to add a little more clarity: There's a pretty good article on Quora about how CloudFlare works. Which site resources are affected? Only static ones? What CloudFlare caches by default. "Does CloudFlare act as a cache proxy? Say, I have a bunch of images on the pages of my site. Does CloudFlare cache all those images on each of their data centers and ...


2

If a user is using a proxy, there may be headers in the request that you could examine or log to let you know what the original IP address of the user is. See: X-Originating-IP X-Forwarded-For If you are using Apache server, headers such as this can be logged using %{header}i, in the log format configuration directive where "header" can be any HTTP ...


1

What is the proper name for the middleware that fetches the information from the internal URL and serves it to the public API? A reverse proxy or gateway: A reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client as though they originated ...


1

Not really possible. You can try a few clever tricks that may or may not work (caching a flash object and checking for it to identify if a user is using multiple IPs, or carefully tracking several user details and looking for matches). It's better to just make sure the site is secure versus trying to track users at all.


1

I have also found that google proxy accessed my website several times (30+) in the very same second: 66.249.81.106 - - [30/Aug/2013:01:26:35 +0200] "GET /index.php HTTP/1.1" 200 280329 66.249.81.106 - - [30/Aug/2013:01:26:35 +0200] "GET /index.php HTTP/1.1" 200 280329 66.249.81.106 - - [30/Aug/2013:01:26:35 +0200] "GET /index.php HTTP/1.1" 200 280329 ...


1

Here is the issue with UserAgent and the reason why it is most likely a legitimate crawler: Web servers can be configured to respond to any of the headers in the web page requests including the UserAgent. If Google webbots all looked the same then I could have a shady website that makes itself look like an encyclopedia of useful information to webbots while ...


1

You can run your own Apache server without root access as long as you don't use port below or equal to 1024. Also you can specify the location of your httpd.conf or included files. However, Nginx would be much easier to setup as reverse proxy and you can code with scripting language.


1

First, make sure you have mod_proxy* enabled (there are multiple proxy modules, so enable all of them for simplicity). Then copy this into your main configuration file: <VirtualHost *:80> # Where 'ServerName' is the domain of this site. ServerName joomla-one.domain.org ProxyRequests Off ProxyPreserveHost On ...


1

Let's skip the CDN term as it's not giving us architectural view of the solution. The way it's done is though the use of series of caching servers that behave like reverse proxies. The best example is Varnish. Once you set the session id cookie, use of Varnish cache is dismissed. Otherwise, you're served with a response without even application server being ...


1

I think you're talking about chaining two reverse proxies together but that's just semantics. I've implemented a reverse, rewriting proxy on Apache 2.2 - single proxy, not chained together as you're considering. It was pretty straight forward. I applied the proxy config right along side the rewrite config in the same VirtualHost and everything worked more ...


1

I came up with a reasonable solution to this problem. Instead of mixing core js-host configuration with lots of reverse proxy configuration, I separated the two. js-host is now a standalone site that knows nothing about the other services. The key to this approach is to add a reverse proxy for '/' to the core js-host site below all the other reverse proxy ...


1

Here is a good answer on Ask Ubuntu iptables -t nat -A PREROUTING -p tcp --dport 6666 -j REDIRECT --to-port 80 This assumes you're not routing traffic for an entire network through this box and that if you were there's no expectation that traffic destined for other hosts will be on that port Update In case you mess up your iptables, here is a ...


1

I think your settings are incorrect. When there is a request to https://example.net/images/blank.gif it is sent to http://192.168.1.2/images/blank.gif and there will be a 404. Your two rewrites do not match, of course, because this request does not begin with /hp. Maybe you want proxy_pass http://192.168.1.2/hp?


1

The ProxyPass directive accepts 3 different contexts: server config, virtual host, directory. Because is is valid in a directory context, may be used inside <Directory>, <Location>, <Files>, and <Proxy> containers in the server configuration files, subject to the restrictions outlined in Configuration Sections. In your case, you can ...


1

If you think it's the proxy, get the proxy admin to look at the logs for some of the failed requests, and compare them with a working request. It's possible the proxy's been configured to look for certain content and when it finds it, it dumps it. You mentioned that doing something on the client fixed it though (clearing cache files), so that implies it ...


1

Open IIS7 manager and on the right hand size select Bindings. Here you can set a host header to your site. Don't forget this name must be resolved to the IP address of the machine hosting the web site. You can do that in you DNS server. If you don't have any DNS server you can set the IP address in hosts file in %windir%\System32\drivers\etc.



Only top voted, non community-wiki answers of a minimum length are eligible