Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- worker_processes auto;
- worker_rlimit_nofile 8192;
- events {
- worker_connections 8000;
- multi_accept on;
- }
- http {
- charset utf-8;
- # what times to include
- include /etc/nginx/mime.types;
- # what is the default one
- default_type application/octet-stream;
- access_log /dev/stdout;
- error_log /dev/stderr;
- # Sets the path, format, and configuration for a buffered log write
- # log_format trace '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" "$http_user_agent" '
- # '"$http_x_forwarded_for" $request_id';
- client_max_body_size 1M;
- add_header X-Content-Type-Options nosniff;
- add_header X-Frame-Options DENY;
- add_header X-XSS-Protection "1; mode=block";
- # add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-src 'none'; object-src 'none'";
- gzip on;
- gzip_static on;
- gzip_comp_level 6;
- gzip_vary on;
- gzip_min_length 1024;
- gzip_proxied any;
- gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
- gzip_buffers 16 8k;
- resolver 127.0.0.11 ipv6=off valid=15s;
- resolver_timeout 1s;
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name .localhost;
- server_tokens off;
- location / {
- default_type text/html;
- return 200 'Home';
- }
- }
- server {
- listen 80;
- listen [::]:80;
- server_name admin.localhost;
- server_tokens off;
- # https://www.nginx.com/blog/dns-service-discovery-nginx-plus/
- set $admin_api_servers admin-api;
- location ~ ^/(.*)$ {
- # block one workstation
- # deny 192.168.1.1;
- # allow anyone in 192.168.1.0/24
- # allow 192.168.1.0/24;
- # drop rest of the world
- # deny all;
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Content-Type' 'text/plain; charset=utf-8';
- add_header 'Content-Length' 0;
- return 204;
- }
- if ($request_method = (GET|POST|OPTIONS|HEAD)) {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
- add_header 'Access-Control-Allow-Credentials' 'true';
- }
- proxy_pass http://$admin_api_servers:5000/$1;
- proxy_buffering off;
- proxy_pass_header Server;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- proxy_set_header Host $http_host;
- proxy_set_header X-NginX-Proxy true;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Forwarded-Host $server_name;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_connect_timeout 3000;
- proxy_send_timeout 3000;
- proxy_read_timeout 3000;
- send_timeout 3000;
- proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Expires" "Set-Cookie";
- }
- }
- server {
- listen 80;
- listen [::]:80;
- server_name customer.localhost;
- server_tokens off;
- # https://www.nginx.com/blog/dns-service-discovery-nginx-plus/
- set $customer_api_servers customer-api;
- location / {
- if ($request_method = 'HEAD') {
- return 204;
- }
- }
- location ~ ^/(.*)$ {
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Content-Type' 'text/plain; charset=utf-8';
- add_header 'Content-Length' 0;
- return 204;
- }
- if ($request_method = (GET|POST|OPTIONS|HEAD)) {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
- add_header 'Access-Control-Allow-Credentials' 'true';
- }
- proxy_pass http://$customer_api_servers:5000/$1;
- proxy_buffering off;
- proxy_pass_header Server;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- proxy_set_header Host $http_host;
- proxy_set_header X-NginX-Proxy true;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Forwarded-Host $server_name;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_connect_timeout 3000;
- proxy_send_timeout 3000;
- proxy_read_timeout 3000;
- send_timeout 3000;
- proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Expires" "Set-Cookie";
- }
- }
- server {
- listen 80;
- listen [::]:80;
- server_name supplier.localhost;
- server_tokens off;
- # https://www.nginx.com/blog/dns-service-discovery-nginx-plus/
- set $supplier_api_servers supplier-api;
- location / {
- if ($request_method = 'HEAD') {
- return 204;
- }
- }
- location ~ ^/(.*)$ {
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Content-Type' 'text/plain; charset=utf-8';
- add_header 'Content-Length' 0;
- return 204;
- }
- if ($request_method = (GET|POST|OPTIONS|HEAD)) {
- add_header 'Access-Control-Allow-Origin' "$http_origin";
- add_header 'Access-Control-Allow-Methods' 'GET, POST, HEAD, OPTIONS';
- add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
- add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
- add_header 'Access-Control-Allow-Credentials' 'true';
- }
- proxy_pass http://$supplier_api_servers:5000/$1;
- proxy_buffering off;
- proxy_pass_header Server;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- proxy_set_header Host $http_host;
- proxy_set_header X-NginX-Proxy true;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Forwarded-Host $server_name;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_connect_timeout 3000;
- proxy_send_timeout 3000;
- proxy_read_timeout 3000;
- send_timeout 3000;
- proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Expires" "Set-Cookie";
- }
- }
- }
Add Comment
Please, Sign In to add comment