Applica il nodo app per il path url in Apache

Desidero servire un'applicazione nodo come path del mio dominio, come questo: http://example.com/foo effettivamente attiverà l'applicazione nodo in esecuzione sulla port 8080.

Ho esaminato ProxyPass e ProxyPassReverse:

  • Redirect integer dominio
  • PHP_Flag e PHP_Value Comando non trovato problema
  • Perché non è htaccess seguendo questa direttiva php_value?
  • Apache è in esecuzione?
  • Git spinge http (utilizzando git-http-backend) e Apache non funziona
  • Possibilità di registrare i parametri POST / GET in Apache 2.2
  • ProxyPass /foo http://localhost:8080 ProxypassReverse /foo http://localhost:8080 

    Questo servirà l'indice.html dell'applicazione del nodo, ma ricevi gli errori nella mia console su tutti gli asset:

     Failed to load resource: the server responded with a status of 404 (Resource not found) http://example.com/styles/4742a4e8.main.css 

    Pensavo che la direttiva ProxyPassReverse si prendesse cura di questo, ma a quanto pare non lo farebbe. Ho una conoscenza molto limitata di apache. Qualche idea brillante su come risolvere questo problema?

    Disclaimer: sì, ho esaminato molti nodes combinati con domande apache, ma nessuno di loro affronta il problema di utilizzare una sottodirectory nell'URL

  • Mantenere un process di linux in esecuzione dopo l'output
  • Come posso registrare l'intestazione e il corpo di risposta in apache?
  • I file di registro di Apache diventano troppo grandi, come farlo risparmiare su base giornaliera
  • apache2 virtualhosts per # sottodomini con riscrittura a SSL
  • Autorizzazione negata: /home/.htaccess pcfg_openfile: Imansible controllare il file htaccess
  • Qual è la differenza tra queste due regole iptables?
  • One Solution collect form web for “Applica il nodo app per il path url in Apache”

    Sto scrivendo che http://example.com/styles/4742a4e8.main.css è in realtà un file nell'applicazione JS di nodo, quindi si riferisce a http://localhost:8080/styles/4742a4e8.main.css , ma sta facendo riferimento nell'indice.html dall'applicazione del nodo come /styles/4742a4e8.main.css

    Con la mapping di proxy che sta accadendo è che quando si richiede

    http://example.foo/foo/ invia una richiesta che restituisce http://localhost:8080/index.html come è. Tutti i riferimenti all'interno di index.html non vengono modificati, quindi quando il browser richiede componenete, richiede http://example.com/styles/4742a4e8.main.css ma il file è veramente accessibile tramite http://example.com/foo/styles/4742a4e8.main.css

    se / styles / non viene utilizzato all'interno di example.com è ansible aggiungere

     ProxyPass /styles http://localhost:8080/styles ProxypassReverse /styles http://localhost:8080/styles 

    Ma questo può diventare ingombrante se si dispone di un sacco di directory.

    Un altro approccio sarebbe quello di utilizzare routes relativi nell'applicazione del nodo. Quindi, invece di riferimento index.html /styles/4742a4e8.main.css ha riferito styles/4742a4e8.main.css (nessuna barra principale). Questo potrebbe diventare ingombrante con i routes nidificati nell'applicazione del nodo.

    Un'altra soluzione potrebbe essere quella di modificare l'applicazione node.js per essere eseguita correttamente sotto localhost: / foo, quindi la mapping della directory è la stessa.

    Non sono sicuro che nessuna di queste soluzioni sia ideale per il tuo caso d'uso, ma speriamo che ti suggeriamo nella giusta direzione.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.