* Improve the main crontab example. * Remove /opt/Docker hardcodes. * Add periods. * Improve readability. * Begin removing hardcoded path from the bin files. * Update main README to no longer enforce hardcoded path. Other improvements. * Add the load folder with a README. * Add load folder and its README. * Improve reverse proxy text files. * Switch to tabs. * Update all scripts for tabs, DOCKER_HOME, and comments. * Let users know the directory choice is optional. * Fix environment file. * Add more details for the reverse proxy load balancing. * Don't actually listen for postgres. * Fix comments on source file. * Be more explicit on the pathing.
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Nginx Configuration File
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Nginx Configuration File
		
	
	
	
	
	
| # 2022-10-05 Hyperling
 | |
| 
 | |
| user nginx;
 | |
| worker_processes auto;
 | |
| 
 | |
| error_log /var/log/nginx/error.log notice;
 | |
| pid       /var/run/nginx.pid;
 | |
| 
 | |
| events {
 | |
|     worker_connections 1024;
 | |
| }
 | |
| 
 | |
| http {
 | |
|     include /etc/nginx/mime.types;
 | |
|     default_type application/octet-stream;
 | |
| 
 | |
|     log_format main '$remote_addr - $remote_user [$time_local] $host "$request" '
 | |
|                     '$status $body_bytes_sent "$http_referer" '
 | |
|                     '"$http_user_agent" "$http_x_forwarded_for"';
 | |
| 
 | |
|     access_log /var/log/nginx/access.log main;
 | |
| 
 | |
|     sendfile on;
 | |
|     #tcp_nopush on;
 | |
| 
 | |
|     keepalive_timeout 65;
 | |
| 
 | |
|     #gzip on;
 | |
| 
 | |
|     ## Proxy Settings ##
 | |
|     proxy_redirect     off;
 | |
|     proxy_set_header   Host               $host;
 | |
|     proxy_set_header   X-Real-IP          $remote_addr;
 | |
|     proxy_set_header   X-Forwarded-For    $remote_addr;
 | |
|     proxy_set_header   X-Forwarded-Proto  $scheme;
 | |
|     proxy_set_header   HTTP_AUTHORIZATION $http_authorization;
 | |
|     proxy_hide_header                     X-Powered-By;
 | |
|     proxy_intercept_errors                on;
 | |
|     proxy_http_version                    1.1;
 | |
|     # Proxy Buffer settings - See http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size
 | |
|     proxy_buffer_size          4k;
 | |
|     proxy_buffers              4 32k;
 | |
|     proxy_busy_buffers_size    64k;
 | |
|     proxy_temp_file_write_size 64k;
 | |
|     # Timeouts, give up to 5 minutes for slow apps.
 | |
|     proxy_connect_timeout 600;
 | |
|     proxy_send_timeout    600;
 | |
|     proxy_read_timeout    600;
 | |
|     send_timeout          600;
 | |
| 
 | |
|     ## LetsEncrypt Certbot Setup ##
 | |
|     # Allow nginx to fulfill LetsEncrypt Certbot challenges.
 | |
|     #   This is not working from here, but is working from the individual conf files for some reason.
 | |
|     #   Have tried adding listen and server_name directives here with no change in functionality.
 | |
|     server {
 | |
|         location ^~ /.well-known/acme-challenge/ {
 | |
|             default_type "text/plain";
 | |
|             root /etc/nginx/letsencrypt/;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     ## Upstream Configuration ##
 | |
|     include /etc/nginx/hosts/*;
 | |
| 
 | |
|     ## Reverse Proxied Website Configurations ##
 | |
|     include /etc/nginx/conf.d/*;
 | |
| }
 | |
| 
 | |
| ## TBD.
 | |
| mail {
 | |
|     ## Reverse Proxied Mail Server Configurations ##
 | |
|     #include /etc/nginx/mail.conf.d/*;
 | |
| }
 | |
| 
 | |
| ## Under Experimentation
 | |
| # So far does not seem like server_name works, only listen, so not useful as a
 | |
| # reverse proxy. Such as 2 Postgres servers needing traffic from different
 | |
| # domains, or two SMTP servers on the same IP serving two different domains.
 | |
| # Those possibilities do not seem to exist here, unfortunately.
 | |
| stream {
 | |
|     ## Service Forwarding and Load Balancing ##
 | |
|     # If this supports the `listen` and `server_name` directives then this may
 | |
|     # be a better choice than mail{} since it will not require an auth server.
 | |
|     # It could also be useful as a frontend for ssh, databases, APIs, etc.
 | |
|     include /etc/nginx/load.conf.d/*;
 | |
| }
 |