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:

  • Forza HTTPS con bilanciatore di carico elastico AWS
  • Perché vedo un pacchetto IP con la dimensione 2960, al di sopra dell'impostazione MTU del 1500 sull'interface e viene via?
  • Apache su più server con una configuration
  • Che è un buon punto di partenza per principianti? Apache, Nginx o Cherokee?
  • Può apache utilizzare un agente chiave per memorizzare chiavi private per SSL?
  • Strumenti per bloccare i tentativi di hack in Apache
  • 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

  • Quali strumenti devo utilizzare per la diagnostica DNS?
  • Server di posta SSMTP che sovrascrive l'indirizzo da e-mail con il nome utente del process Apache
  • È ansible impostare l'intestazione HTTP di versione SSL / TLS con Apache che un'applicazione backend può utilizzare?
  • Come triggersre tutti i methods HTTP in un server HTTP Apache
  • Come proteggere i file di grandi size scaricati tramite PHP e / o Apache?
  • In che misura mod_suexec interagisce con il passeggero?
  • 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.