Experts,
This is very weird and I have spent good 5 hrs pulling my hair to understand what is wrong in the below configurations.
With the below configuration I expect the request to be handled by the respective location blocks however all my request are handled by the location / block only.
Any advice?
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$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;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
#root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
alias /var/www/projects/projectname/clientui/whatsupclientui/build/;
index index.html index.htm;
try_files $uri /index.html;
}
location /organization/ {
alias /var/www/projects/projectname/orgui/whatsuporgui/build/;
index index.html index.htm;
try_files $uri /index.html;
}
location /api/admin/ {
alias /var/www/projects/projectname/api/projectnameapis/build/;
index index.html index.htm;
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://localhost:1337/;
}
#error_page 404 /404.html;
# location = /40x.html {
#}
#error_page 500 502 503 504 /50x.html;
# location = /50x.html {
#}
}
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers PROFILE=SYSTEM;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
for this configuration any request to /organization/ is still being honoured by / location block only
Update II:
Attached the debug logs for /organization/

nginx -T(uppercaseT) to view the entire configuration across all included files, and ensure that theselocationblocks are in theserverblock that handles the request. Use the access log and error log to understand the series of requests being processed by your server. Usecurl -Ito fire single requests at your server to breakdown a chain of responses.