2017-03-20 2 views
0

J'ai des problèmes avec proxy_pass. Une requête arrive. Elle est routée vers le port (3000) où mon application est en cours d'exécution, mais renvoie toujours 404. Si je fais une requête aux URLs d'arrière-plan, celles-ci renvoient 200. Par exemple: www.mysite. com/api --- retourne 200 MAIS: www.mysite.com/#/about --- retourne 404 www.mysite.com/ ou www.mysite.com --- retourne 404Comment puis-je corriger NGINX proxy_pass pour acheminer vers mon application sur le port 3000?

Comment J'ai nginx servir l'application qui fonctionne sur le port 3000?

nginx.conf

user www-data; 
worker_processes auto; 
pid /run/nginx.pid; 

events { 
     worker_connections 768; 
     # multi_accept on; 
} 

http { 

     ## 
     # Basic Settings 
     ## 

     sendfile on; 
     tcp_nopush on; 
     tcp_nodelay on; 
     keepalive_timeout 65; 
     types_hash_max_size 2048; 


     include /etc/nginx/mime.types; 
     default_type application/octet-stream; 



#  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE 
#  ssl_prefer_server_ciphers on; 


     access_log /var/log/nginx/access.log; 
     error_log /var/log/nginx/error.log; 

     ## 
     # Gzip Settings 
     ## 

     gzip on; 
     gzip_disable "msie6"; 

      gzip_vary on; 
      gzip_proxied any; 
      gzip_comp_level 6; 
      gzip_buffers 16 8k; 
      gzip_http_version 1.1; 
      gzip_types text/plain text/css application/json application/javascrip$ 

     ## 
     # Virtual Host Configs 
     ## 

     include /etc/nginx/conf.d/*.conf; 
     include /etc/nginx/sites-enabled/*; 
} 

sites activés/default

server { 
     listen 80; 
     server_name mysite.com www.mysite.com; 
     return 301 https://$host$request_uri; 

     location ~ /.well-known { 
       allow all; 
     } 
} 

#HTTPS 
server{ 
listen 443; 
ssl on; 
server_name mysite.com www.mysite.com; 
include snippets/ssl-mysite.com.conf; 
include snippets/ssl-params.conf; 


location/{ 
    expires max; 
    proxy_pass http://127.0.0.1:3000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "Upgrade"; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forward-Proto http; 

} 


} 

Pour une raison quelconque, je ne peux pas obtenir l'application pour servir le répertoire public ...

Espérons que ci-dessus les fichiers de configuration montreront ce que je me suis trompé. J'apprécie vraiment votre aide. Si vous avez besoin de plus d'informations, s'il vous plaît faites le moi savoir.

+0

Also..logs montrent la 404, mais rien d'autre – Mee

+0

Quelles sont les applications journal indiquant (écoute sur le port 3000) –

+0

juste « en cours d'exécution ... "et le port 3000 – Mee

Répondre

0

Essayez proxy_pass sur vos appels avec le point final /api/

location /api/ { 
    ... 
    proxy_pass http://127.0.0.1:3000; 
    ... 

}