The Stack Overflow podcast is back! Listen to an interview with our new CEO.
19

Presuming that a 'web application' runs on a server (like apache, nginx, etc) and is written in some dynamic scripting language (like PHP, Ruby, etc), you have a misunderstanding in who the 'user' is. The user is not the person who is logged into your application - that, and their role in the application (admin, etc) is completely irrelevant to the scenario....


13

This solution does not describe how to strip a header on HTTP only, as asked in the question title. A safe solution for your problem is to add proxy_set_header X-Forwarded-Protocol $scheme; It will set X-Forwarded-Protocol to http on HTTP requests and to https on HTTPS requests. This makes sure that this header is overridden if the client set it, as ...


9

Wow, that's an enormously broad question :) It's quite off-topic for serverfault, so it'll probably be closed in a bit. But as it's saturday afternoon, I'm in a storytelling mood, so here's an answer, roughly based on a simplified version of how we grew the company I currently work at. The abbreviated answer is my favourite: It depends. There is no "this is ...


8

curl --user admin:admin http://localhost:8080/manager/text/reload?path=/myapp Doc here: Manager App HOW-TO, Reload An Existing Application The manager-script role is required for the user as the documentation says: It would be quite unsafe to ship Tomcat with default settings that allowed anyone on the Internet to execute the Manager application on ...


7

Never rely on whether your app will be internal or external. Always develop as though the audience of the app will be outside your control (because it is). Go with ENV.APPNAME.DOMAIN.TLD With www. as the alias for "production".


7

With the Azure App Service announcement Web Sites were renamed to Web Apps. Here's a list of old and new service names as well as changes introduced with App Services.


7

No, this is not possible with host files and also not via a local DNS. You could try to use a reverse proxy to map this to a standard port.


6

It depends on the approach. It is much easier to maintain thousands servers which are the same with todays technologies (tools for job automation such us docker, puppet, chef, ansible, etc - hundreds of them). Having a single server for each customer gives you ability to plan resources for each customer more precisely and let them pay for what they really ...


6

The suggestion from @sikian did the trick, I changed the location declaration from location /app1 { ... } to location /app1/ { ... }. The static files were served without error in the console, and the application seems to be fully working.


5

You can use WebPagetest or Pingdom's Full Page Test to do one-off testing for free. Pingdom also lets you do continuous testing for a fee. Edit An ad for Watchmouse showed up in the sidebar. They have a free site test and paid monitoring plans similar to Pingdom.


5

Amazon EC2 instances don't have a "spin-up" time. The culprit is likely your code or your server setup, not EC2. Reserved instances aren't any different than any other type of instance other than the payment details.


5

If your authentication is working there is no reason to hide the url. Id rather focus on that.


5

There is MyLittleAdmin that we use. I find it strange that it's not been mentioned here. We've used it for years and I think our developers find it works well for them. I think it's crazy that there's not a official web based tool like phpMyadmin for MSSQL. I don't want to give our developers access to our production SQL Servers so a web based solution is ...


5

It doesn't really matter where you put your Node.js but more how you set up this place. The right permissions are most important. Possible locations (from a logical point of view) are: /opt/<appname> /usr/local/share/<appname> /var/nodejs/<appname>


5

This is easily done with mod_proxy: ProxyPass /rep1/ibm http://reportingserver1.example.com/ibm ProxyPassReverse /rep1/ibm http://reportingserver1.example.com/ibm ProxyPass /rep2/ibm http://reportingserver2.example.com/ibm ProxyPassReverse /rep2/ibm http://reportingserver2.example.com/ibm There is more information at the apache documentation site for ...


5

Tasks like what Buffer does are easily paralleled - you don't have to wait for one person's posts to be processed to post another user's. Because of this, it's trivial to scale horizontally - multiple threads and/or servers processing multiple users at a time. Some basic tricks they might use are: Multiple database servers - the post content doesn't have ...


5

How about running the lot out of AWS S3 - it's ideal for static sites, there's no processing to be done after all, I've no idea how the files-per-directory thing would work out but it might be worth a try.


5

While WAF is primarily used to protect active websites, forms, APIs, etc there is sometimes need to use WAF in front of public static content as well. For example: How to Prevent Hotlinking by Using AWS WAF, Amazon CloudFront, and Referer Checking Another usecase may be if some of your static content is not entirely public (e.g. relying on complex random ...


4

It is not possible for search engines to find it, if it is not linked anywhere (as this is the only way search engines find other information). In order to make sure a search engine does not find it via a robots.txt and have the secrecy, use a double-hash: http://example.com/asdfghjk/12345678 Your robots.txt would disallow anything below asdfghjk: User-...


4

If you have multiple EC2 instances inside the same AWS availability zone (for example, us-east-1a), then traffic between them is not chargeable. So you can send data freely between your EC2 instances without worrying about your bill. If they are in different regions, or even different availability zones within the same region, then you will be charged for ...


4

I can tell you my own experience. I have a web server hosted in Azure which store into and retrieve data from a M10 MongoDB Atlas instance hosted in AWS. Both instantes are located in Europe datacenters. Communication latency between these two instances is about 12 milliseconds per query, no matter what type of query is it. For example, if I want to ...


3

Before I get started, I need to mention that everything you are about to read is really just a starting point at best. It's all so much blather until you actually have something worth looking at and measuring to find the real performance characteristics of your system under a given load. As they say, measure twice, cut (spend/build) once. That out of the ...


3

Check out Gomez.


3

One of the features of the Certificate Authority system is that things change. Roots expire, new roots come into existence, certificates are revoked, roots go bankrupt after compromises. An update mechanism really needs to be in place to handle these changes. There is a third option available, and that is to use a different CA that offers 2K certificates ...


3

Don't bother. Learn the command-line - you'll be much better off in the long term, knowing how to properly admin your server (and others) without having to rely on the crutch that these GUI control panels provide.


3

I have solved this as follows a) Modify the config file as follows server { listen 80; ## listen for ipv4 server_name www.whatever.com; ## change this to your own domain name root /home/ubuntu/www/public_html; ## Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(www....


3

ZeroMQ has been designed as an asynchronous transport/message protocol. If one of your nodes goes down, it will re-stablish the ZMQ-Socket and continue sending its messages when the route to the target endpoint comes back up. Performance is good and according to its IRC channel it's well tested enough nowadays to use over WAN.


3

If you are deploying internal only, you have great freedom in selection. However with the Top Level Domains opening up as they have recently, you do want to take some care to not conflict with an upcoming new external name. eg, you could deploy as http://contact.app/ but if the .app TLD gets registered then you could find yourself conflicting. So you are ...


3

According to the Tomcat deployment howto, the exploded webapp "is removed, and the .WAR is expanded again". So the whole /webapps/myApp directory gets deleted upon deployment. There is no way to keep the files in it. If you want to keep the uploaded files, you should define a directory outside your webapp dir, and use that from within the web application.


3

Having separated servers for each customer brings benefits from isolating customers data and allows you have multiple version of application. But there are some drawbacks. You will spend more money on servers (because you cannot share resources between customers easily) and you have do manage deploy pretty well. Also, if you have only one database across all ...


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