Hot answers tagged

5

As per Martin Flowers' definition of Blue-Green deployment The blue-green deployment approach does this by ensuring you have two production environments, as identical as possible. At any time one of them, let's say blue for the example, is live. As you prepare a new release of your software you do your final stage of testing in the green environment. Once ...


4

docker-compose is just a glorified wrapper around docker which gives you a nice textual representation of all the options you would regularly give to docker build or docker run. Plus, of course, it bundles several docker images/containers together. That said, it has no provisions to run anything else than you would get by calling docker. I don't see how you ...


3

Unless you are using the AWS API Gateway, you'll still need some way of "serving" your Flask API. You will also need to provision an EC2 instance and run something to serve your API. Instead of running a windows EC2 instance with IIS you can save about 50% operating cost and use Nginx on a linux EC2 instance. Additionally, Nginx can be used as a reverse ...


2

You will find people from both camps (terminating TLS as soon as possible vs terminating TLS in the application code) but it's not as serious as for example tabs vs spaces. The benefit of terminating TLS by reverse proxy is that application developer does not have to implement TLS in the application itself - possibly introducing bugs. Another benefit ...


2

I have done this in the past using https://github.com/hashicorp/consul-template. What consul-template does it generate a configuration file (for nginx) based on a certain template you provide. And the values that it fills into this template are coming from the configuration stored in consul. Each time your micro-services register themselves in consul and ...


2

I would suggest at least one for production and one for npe. The nginx-ingress helm chart appears to only support setting a scope to all namespaces or just one namespace (a frustrating limitation not in other ingress controller options): https://github.com/helm/charts/tree/master/stable/nginx-ingress controller.scope.namespace


2

I was able to combine your two example files by first converting them to JSON. foo.json { "apiVersion": "extensions/v1beta1", "kind": "Ingress", "metadata": { "name": "nginx-ingress" }, "spec": { "tls": [ { "hosts": [ "foo.bar.com" ], "secretName": "tls-secret" } ], "rules": [ { ...


1

Could I have these two different definitions which creates a single Ingress with two rules (based on having the same name)? Lets investigate whether that would be possible. According to https://kubernetes.io/docs/concepts/services-networking/ingress/ one could update an existing ingress yaml and subsequently run kubectl replace -f. From a microservice ...


1

You need to add a host entry of mylocalserver in the host file against 127.0.0.1, like 127.0.0.1 mylocalserver. For /consul, there should be a /consul endpoint in your code to serve your request. As per your configuration, your http://localhost will be served because you have set proxypass for "/"(all). It will send all requests to the application/server ...


1

Nginx will help you in performing the below items if you need some of them, Then I would say it make sense to add it to the stack Optimize the caching (you can also cache dynamic content. Restrict access to the services (based on ips). Implement basic auth for some services. Load balancing traffic between different posds or services. Rewrite URLS. Pass ...


1

Issue ended up being that I was creating a self signed cert because I was using the wrong issuer. I had an issue before with the dev.yaml file but never updated for this new ENV.


1

Answered my own question, documented my steps on my Github repo. Recap: Add Nginx config to desired domains: location ~ /.well-known/acme-challenge { allow all; try_files $uri $uri/ /index.php; } Use certbot staging to try out test certificates before running the real deal. sudo docker run -it --rm -v /some/place/to/save/letsencrypt:/...


1

While this is possible it is not a best practice. Whenever possible, containers should contain a single process. The reasoning for this is: It fosters a modular design where you can more easily plug and play components. What if you decide not to use nginx and use asp.net core in the future? If everything is tightly coupled in one container then the ...


1

There are lots of good tutorials for NGINX and it is an easy server to setup with the Angular router. You can still accomplish this with an Apache server, but you may need more steps in your Dockerfile. As a starting place check out the answer on Stack Overflow Deploy Angular 2 to Apache Server. These types of server modifications will need to be baked ...


1

This question doesn't really make sense - WSGI is the mechanism that a web server such as Apache would use to invoke an application or script, such as something written in Python. If you have no web server, then what would be using WSGI in the first place? Is the question really, how do I take a pre-existing WSGI application and turn it into a standalone? ...


1

All cookies and headers are a construct of the HTTP protocol. Kubernetes Services operate on TCP/UDP packets therefore it will pass the payload as-is. It is not that there isn't an nginx.conf file but rather the configuration is managed via annotations. See this link https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/...


1

I suggest you mount your conf file as a volume: docker run -v nginx.conf:/etc/nginx/nginx.conf .... This way you can easily change the file outside the container and then just restart the container. If you change your config file inside the container and then you should have to restart nginx to pick-up the changes. At that point your container will stop ...


1

If the system recently rebooted and your proxy server is giving 502/503s, it's most likely that the backend service failed to start. Using whatever tools are most appropriate for your OS/distro (e.g. systemctl, service/chkconfig, stop/start/restart/etc.), do the following things: Verify that the backend (in this case Jenkins) is configured to start on boot....


1

Thanks to this question and answer here, I was able realize that I had two issues going on: the containers have different default Docker networks because I am using two different docker-compose.yml files, I had envisioned my Ngnix proxy working independently from any of my API containers entirely, including the docker-compose, more on that issue below the ...


1

You will notice in this upstream block: upstream api { server server:5000; } I called it api but then I say server server:5000;. That was the problem because I originally had it as: upstream server { server server:5000; } but then thought that server might be a reserved operator in the Nginx world so I changed it to api but did not change it ...


1

I would suggest to use Ubuntu form docker hub and try Ubuntu alpine image. there should be also problem form database if your database is outside the K8s cluster so may possible latency problem should be there


1

Here is nginx and php done as an s2i builder image. You can basically have plain old php in a git repo and run s2i to make a runtime image that runs it with nginx and php. You simply docker build that dockerfile and pass the resultant image as the builder image to s2i along with your source code. You will notice I have archived that project. That is because ...


1

Oops, turns out I just have to remove the line listen [::]:443 ssl ipv6only=on; and it works. it's leftover from running NGINX certbot, I thought that was important


1

Can you obtain a secure certificate for someone else's domain or subdomain without their help - hopefully not. One of the core security pillars of a secure certificate is that it ensures that you are actually connected (through an encrypted connection) to the the site you wanted to connect to. For this purpose the minimum check every certificate issuer ...


1

Production configurations often involve multiple levels of proxies. Each should provide a place for gathering stats. Proxies can also hide backend failures if you have a pool of nodes behind the proxy, which doesn't seem to be what you're going for here. Your comment that you wouldn't be able to renew certificates with extra proxies is not correct. You ...


1

Sure, you put in as many proxies as you need. You don't want to over-complicate things, but it seems you have a good reason for your architecture.


1

Problem is in resources - I see that each app container has own nginx instance, and server (VPS) must have global nginx, working as reverse proxy for containers. Generally speaking yes, this is how this sort of thing goes. It's more of an issue for PHP than other languages because PHP doesn't really have a standalone application server, but instead is ...


1

I found the problem it is unrelated. The index.html file itself was the 'directory access is forbidden


1

As per this docker documentation the copy instruction may have multiple sources but only one destination. Your first copy is coping two file /etc/passwd and /etc/group to /etc.


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