2014-05-14 21 views
26

So che questa è una domanda comune e ci sono risposte per lo stesso, ma la ragione per cui pongo questa domanda è perché non so come affrontare la soluzione. A seconda del modo in cui decido di farlo, la soluzione posso scegliere le modifiche. Ad ogni modo,Reindirizza il sottodominio sulla porta [nginx/beuta]

Ho un'istanza AWS EC2. Il mio DNS è gestito da Route53 e possiedo esempio.com. Attualmente, sul mio esempio, ci sono due servizi in esecuzione:

example.com:80 [nginx/php/wordpress] 
example.com:8142 [flask] 

Quello che voglio fare è, fare app.example.com punto da example.com:8142. Come faccio esattamente a fare questo? Sono abbastanza sicuro che dovrò indirizzare lo app.example.com allo stesso IP di example.com, poiché è lo stesso box che lo servirà. E, nginx sarà il primo a gestire queste richieste alla porta 80. C'è un modo con cui posso far avanzare nginx tutte le richieste a localhost: 8142?

Esiste un modo migliore per risolvere questo problema?

risposta

50

si potrebbe aggiungere un host virtuale per app.example.com in ascolto sulla porta 80 poi delega passare tutte le richieste di pallone: ​​

server { 
    listen 80; 
    server_name app.example.com; 

    location/{ 
     proxy_pass http://localhost:8142; 
    } 
} 
+0

Grazie! Questo ha funzionato perfettamente ... –

+2

Stavo cercando di capire come farlo in Apache, senza risultato. Per me è stato più veloce (su Digital Ocean) creare una nuova droplet, installare lo stack LEMP, configurare il server, clonare la mia applicazione e scrivere queste 7 righe di codice di TUTTE le ore che ho perso cercando di capirlo su Apache . Grazie mille!!! – Jonathan

+0

Sono felice che tu l'abbia trovato utile. :) –

Problemi correlati