#0000 - Reorganize and enhance the NGINX configuration structure
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Introduce a refined NGINX configuration template with user, worker settings, and modular include directives. This improves clarity and allows easier integration of additional configuration files, while maintaining existing CORS settings.
This commit is contained in:
Guillaume "B.B." Van Hemmen 2024-10-21 10:18:32 +02:00
parent d15bf1c7d3
commit 7d017d7feb
Signed by: GuillaumeHemmen
GPG key ID: 7921E64524F7EB35
3 changed files with 19 additions and 39 deletions

View file

@ -5,7 +5,7 @@ FROM nginx:alpine3.20
COPY dist /usr/share/nginx/html
# Copy custom Nginx configuration file to the container
COPY nginx.conf /etc/nginx/nginx.conf
COPY nginx-extra.conf /etc/nginx/conf.d/nginx-extra.conf
# Expose the port that the application is running on
EXPOSE 80

18
nginx-extra.conf Normal file
View file

@ -0,0 +1,18 @@
location / {
# other settings...
# Allow CORS for all domains (or specify a particular domain instead of *)
add_header 'Access-Control-Allow-Origin' '*';
# Allow specific headers
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
# Allow specific methods
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
}

View file

@ -1,38 +0,0 @@
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
server {
listen 80;
server_name yourdomain.com;
location / {
# other settings...
# Allow CORS for all domains (or specify a particular domain instead of *)
add_header 'Access-Control-Allow-Origin' '*';
# Allow specific headers
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
# Allow specific methods
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
}
}
# Include other server and configuration files
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}