#0000 - Add Nginx setup to Dockerfile with CORS support
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit introduces the Nginx setup by using the official Nginx Alpine image and copying the custom Nginx configuration into the Docker container. It also includes CORS headers in the Nginx configuration to allow requests from any origin with specific headers and methods.
This commit is contained in:
parent
6352d7f8a0
commit
6e94306755
2 changed files with 38 additions and 0 deletions
11
Dockerfile
11
Dockerfile
|
@ -1,3 +1,14 @@
|
||||||
|
# Use the official Nginx image from Docker Hub
|
||||||
FROM nginx:alpine3.20
|
FROM nginx:alpine3.20
|
||||||
|
|
||||||
|
# Copy your application files to the appropriate directory if needed
|
||||||
COPY dist /usr/share/nginx/html
|
COPY dist /usr/share/nginx/html
|
||||||
|
|
||||||
|
# Copy custom Nginx configuration file to the container
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
# Expose the port that the application is running on
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
# Start Nginx when the container launches
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
27
nginx.conf
Normal file
27
nginx.conf
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue