Estoy tratando de implementar mi aplicación angular con un servidor nginx. El problema que tengo es que cuando accedo al sitio web necesito que me redirijan a una ubicación específica, en este caso necesito que me redirijan a mydomain.com/shop, cuando entro a este sitio, entra en un bucle y comienza para escribir mydomain.com//shop/shop/shop/shop/shop......
Aquí está mi código.
server { listen 443 ssl; ssl_certificate C:/nginx/ssl/cc.crt; ssl_certificate_key C:/nginx/ssl/pkc.key; server_name mydomain.com www.mydomain.com; return 301 https://$host$request_uri/shop; } server { listen 443 ssl; client_max_body_size 200M; ssl_certificate C:/nginx/ssl/cc.crt; ssl_certificate_key C:/nginx/ssl/pkc.key; server_name mydomain.com www.mydomain.com; location / { root html/myApp; try_files $uri $uri/ /index.html; } location /api/ { client_max_body_size 200M; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass https://127.0.0.1:4000/; proxy_redirect off; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }¿Cómo puedo arreglarlo? Gracias por adelantado
Tiene dos bloques de server con la misma listen y server_name . El segundo bloque se ignora como un duplicado.
Debe eliminar ese primer bloque de server y colocar una regla de redirección en el segundo bloque.
Por ejemplo:
location = / { return 301 /shop; }