Fix frontend static asset redirect loops - add proper nginx config for /assets/ directory
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
dvirlabs 2026-05-08 13:01:31 +03:00
parent e46c393c8c
commit 047a910ce4
2 changed files with 16 additions and 6 deletions

View File

@ -39,15 +39,24 @@ RUN echo 'server {' > /etc/nginx/conf.d/default.conf && \
echo ' gzip_min_length 1024;' >> /etc/nginx/conf.d/default.conf && \ echo ' gzip_min_length 1024;' >> /etc/nginx/conf.d/default.conf && \
echo ' gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml+rss application/json;' >> /etc/nginx/conf.d/default.conf && \ echo ' gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml+rss application/json;' >> /etc/nginx/conf.d/default.conf && \
echo '' >> /etc/nginx/conf.d/default.conf && \ echo '' >> /etc/nginx/conf.d/default.conf && \
echo ' location / {' >> /etc/nginx/conf.d/default.conf && \ echo ' # Serve static assets directly (no fallback to index.html)' >> /etc/nginx/conf.d/default.conf && \
echo ' try_files $uri $uri/ /index.html;' >> /etc/nginx/conf.d/default.conf && \ echo ' location /assets/ {' >> /etc/nginx/conf.d/default.conf && \
echo ' }' >> /etc/nginx/conf.d/default.conf && \ echo ' try_files $uri =404;' >> /etc/nginx/conf.d/default.conf && \
echo '' >> /etc/nginx/conf.d/default.conf && \
echo ' # Cache static assets' >> /etc/nginx/conf.d/default.conf && \
echo ' location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp)$ {' >> /etc/nginx/conf.d/default.conf && \
echo ' expires 1y;' >> /etc/nginx/conf.d/default.conf && \ echo ' expires 1y;' >> /etc/nginx/conf.d/default.conf && \
echo ' add_header Cache-Control "public, immutable";' >> /etc/nginx/conf.d/default.conf && \ echo ' add_header Cache-Control "public, immutable";' >> /etc/nginx/conf.d/default.conf && \
echo ' }' >> /etc/nginx/conf.d/default.conf && \ echo ' }' >> /etc/nginx/conf.d/default.conf && \
echo '' >> /etc/nginx/conf.d/default.conf && \
echo ' # Cache other static assets' >> /etc/nginx/conf.d/default.conf && \
echo ' location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp)$ {' >> /etc/nginx/conf.d/default.conf && \
echo ' try_files $uri =404;' >> /etc/nginx/conf.d/default.conf && \
echo ' expires 1y;' >> /etc/nginx/conf.d/default.conf && \
echo ' add_header Cache-Control "public, immutable";' >> /etc/nginx/conf.d/default.conf && \
echo ' }' >> /etc/nginx/conf.d/default.conf && \
echo '' >> /etc/nginx/conf.d/default.conf && \
echo ' # SPA fallback for all other routes' >> /etc/nginx/conf.d/default.conf && \
echo ' location / {' >> /etc/nginx/conf.d/default.conf && \
echo ' try_files $uri $uri/ /index.html;' >> /etc/nginx/conf.d/default.conf && \
echo ' }' >> /etc/nginx/conf.d/default.conf && \
echo '}' >> /etc/nginx/conf.d/default.conf echo '}' >> /etc/nginx/conf.d/default.conf
# Copy built files from build stage # Copy built files from build stage

View File

@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react'
export default defineConfig({ export default defineConfig({
plugins: [react()], plugins: [react()],
base: '/',
server: { server: {
port: 5173, port: 5173,
proxy: { proxy: {