mirror of
				https://github.com/thib8956/nginx-proxy
				synced 2025-10-31 09:09:20 +00:00 
			
		
		
		
	Document custom Nginx configuration in README.md
This commit is contained in:
		
							
								
								
									
										33
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								README.md
									
									
									
									
									
								
							| @@ -114,3 +114,36 @@ In order to be able to securize your virtual host, you have to create a file nam | ||||
|     $ docker run -d -p 80:80 -p 443:443 -v /path/to/htpasswd:/etc/nginx/htpasswd -v /path/to/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock jwilder/nginx-proxy | ||||
|  | ||||
| You'll need apache2-utils on the machine you plan to create de htpasswd file. Follow these [instructions](http://httpd.apache.org/docs/2.2/programs/htpasswd.html) | ||||
|  | ||||
| ### Custom Nginx Configuration | ||||
|  | ||||
| If you need to configure Nginx beyond what is possible using environment variables, you can provide custom configuration files on either a proxy-wide or per-`VIRTUAL_HOST` basis. | ||||
|  | ||||
| #### Proxy-wide | ||||
|  | ||||
| To add settings on a proxy-wide basis, add your configuration file under `/etc/nginx/conf.d` using a name ending in `.conf`. | ||||
|  | ||||
| This can be done in a derived image by creating the file in a `RUN` command or by `COPY`ing the file into `conf.d`: | ||||
|  | ||||
| ```Dockerfile | ||||
| FROM jwilder/nginx-proxy | ||||
| RUN { \ | ||||
|       echo 'server_tokens off;'; \ | ||||
|       echo 'client_max_body_size 100m;'; \ | ||||
|     } > /etc/nginx/conf.d/my_custom_proxy.conf | ||||
| ``` | ||||
|  | ||||
| Or it can be done by mounting in your custom configuration in your `docker run` command: | ||||
|  | ||||
|     $ docker run -d -p 80:80 -p 443:443 -v /path/to/my_custom_proxy.conf:/etc/nginx/conf.d/my_custom_proxy.conf:ro -v /var/run/docker.sock:/tmp/docker.sock jwilder/nginx-proxy | ||||
|  | ||||
| #### Per-VIRTUAL_HOST | ||||
|  | ||||
| To add settings on a per-`VIRTUAL_HOST` basis, add your configuration file under `/etc/nginx/vhost.d`. Unlike in the proxy-wide case, which allows mutliple config files with any name ending in `.conf`, the per-`VIRTUAL_HOST` file must be named exactly after the `VIRTUAL_HOST`. | ||||
|  | ||||
| In order to allow virtual hosts to be dynamically configured as backends are added and removed, it makes the most sense to mount an external directory as `/etc/nginx/vhost.d` as oppposed to using derived images or mounting individual configuration files. | ||||
|  | ||||
| For example, if you have a virtual host named `app.example.com`, you could provide a custom configuration for that host as follows: | ||||
|  | ||||
|     $ docker run -d -p 80:80 -p 443:443 -v /path/to/vhost.d:/etc/nginx/vhost.d:ro -v /var/run/docker.sock:/tmp/docker.sock jwilder/nginx-proxy | ||||
|     $ { echo 'server_tokens off;'; echo 'client_max_body_size 100m;'; } > /path/to/vhost.d/app.example.com | ||||
|   | ||||
		Reference in New Issue
	
	Block a user