Ho bisogno di utilizzare Nginx come proxy SSL, che inoltra il traffico a back-end diversi a seconda del sottodominio.proxy nginx basato su host quando si utilizza https
Mi sembra che dovrei definire più sezioni "server {" ma che non funziona correttamente per SSL. In questo modo avrei sempre elaborato il protocollo SSL nel primo host virtuale in quanto il nome del server è sconosciuto fino a quando non elabori il traffico https.
Scenario:
- Un indirizzo IP
- One SSL jolly jolly
più backend che deve essere letta come la seguente:
https://one.mysite.com/ -> http://localhost:8080 https://two.mysite.com/ -> http://localhost:8090
Nginx dice " se "è il male: http://wiki.nginx.org/IfIsEvil, ma che altro posso fare?
Ho provato questo, ma non funziona, ottengo un errore 500 ma nulla nei log degli errori.
server {
listen 443;
server_name *.mysite.com;
ssl on;
ssl_certificate ssl/mysite.com.crt;
ssl_certificate_key ssl/mysite.com.key;
location/{
if ($server_name ~ "one.mysite.com") {
proxy_pass http://localhost:8080;
}
if ($server_name ~ "two.mysite.com") {
proxy_pass http://localhost:8090;
}
}
Qualcuno è riuscito a realizzare questo con Nginx? Qualsiasi aiuto/alternative, link, sarebbe molto apprezzato.
Grazie, questa informazione mi è stata di grande aiuto. FYI: Ho scoperto che quando usi 'listen 443 ssl;' anche tu non devi fare 'ssl on;' perché nginx accenderà la modalità SSL per te. Fonte: http://nginx.org/en/docs/http/ngx_http_core_module.html#listen – Tom