54 lines
1.7 KiB
Nginx Configuration File
54 lines
1.7 KiB
Nginx Configuration File
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
# Browser preferred language detection (does NOT require AcceptLanguageModule)
|
|
map $http_accept_language $accept_language {
|
|
~*^fr fr;
|
|
~*^en en;
|
|
}
|
|
|
|
types {
|
|
module js;
|
|
}
|
|
|
|
include /etc/nginx/mime.types;
|
|
|
|
server {
|
|
listen 80;
|
|
server_name codiki.org;
|
|
root /usr/share/nginx/html;
|
|
|
|
# Fallback to default language if no preference defined by browser
|
|
if ($accept_language ~ "^$") {
|
|
set $accept_language "fr";
|
|
}
|
|
|
|
location ~ ^/$ {
|
|
# Redirect "/" to Angular app in browser's preferred language
|
|
rewrite ^/$ /$accept_language permanent;
|
|
proxy_set_header Host $host:$server_port;
|
|
proxy_set_header X-Forwarded-Host $server_name;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
# Everything under the Angular app is always redirected to Angular in the correct language
|
|
location ~ ^/(fr|en)/ {
|
|
try_files $uri /$1/index.html?$args;
|
|
proxy_set_header Host $host:$server_port;
|
|
proxy_set_header X-Forwarded-Host $server_name;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
location ~ ^/api {
|
|
proxy_pass http://codiki-backend:8080;
|
|
proxy_set_header Host $host:$server_port;
|
|
proxy_set_header X-Forwarded-Host $server_name;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
}
|
|
} |