Not inside the stream it won't... you'll need the map to at least be
inside http and probably server.
[RosettaHealth] <rosettahealth.com>
Phillip Odam
Principal Engineer, RosettaHealth
rosettahealth.com
e: phillip.odam@rosettahealth.com
o: 202.350.4343
a: 2 Wisconsin Circle, Chevy Chase, MD
[twitter] https://twitter.com/rosettahealth [facebook]
https://www.facebook.com/rosettahealth [Instagram]
https://www.instagram.com/rosettahealth [linkedin]
https://www.linkedin.com/company/nitor-group Connecting a Whole World
of Healthcare http://www.rosettahealth.com
On 8/26/19 10:05 PM, Louis Garcia wrote:
> Does not work.
>
> stream {
> map $host $name {
> plex.montclaire.lan app1;
> transmission.montclaire.lan app2;
> default default;
> }
> upstream app1 {
> server 127.0.0.1:32400 http://127.0.0.1:32400
> max_fails=3 fail_timeout=10s;
> }
> upstream app2 {
> server 127.0.0.1:9091 http://127.0.0.1:9091
> max_fails=3 fail_timeout=10s;
> }
> server {
> listen 172.16.0.5:80 http://172.16.0.5:80;
> listen 172.16.0.5:443 http://172.16.0.5:443;
> proxy_pass $name;
> ssl_preread on;
> }
> }
>
> nginx[31436]: nginx: [emerg] unknown "host" variable
> nginx[31436]: nginx: configuration file /etc/nginx/nginx.conf test failed
>
> On Mon, Aug 26, 2019 at 9:06 PM Phillip Odam
> <phillip.odam@nitorgroup.com <mailto:phillip.odam@nitorgroup.com>> wrote:
>
> Hi Louis
>
> The variable I think you're looking for is $host -
> http://nginx.org/en/docs/http/ngx_http_core_module.html#variables
>
>
> On 8/26/19 8:55 PM, Louis Garcia wrote:
>> I am able to use $ssl_preread_server_name to get the server name.
>> This is with https requests. Is there a corresponding embedded
>> variable for http requests? I would like to setup streams to
>> different backend servers based on http requests. Example below
>> works for https but not http.
>> Thanks.
>>
>> stream {
>> map $ssl_preread_server_name $name {
>> plex.montclaire.lan app1;
>> transmission.montclaire.lan app2;
>> default default;
>> }
>> upstream app1 {
>> server 127.0.0.1:32400
>> http://127.0.0.1:32400 max_fails=3 fail_timeout=10s;
>> }
>> upstream app2 {
>> server 127.0.0.1:9091
>> http://127.0.0.1:9091 max_fails=3 fail_timeout=10s;
>> }
>> server {
>> listen 172.16.0.5:80 http://172.16.0.5:80;
>> listen 172.16.0.5:443 http://172.16.0.5:443;
>> proxy_pass $name;
>> ssl_preread on;
>> }
>> }
>>
>>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org <mailto:nginx@nginx.org>
>> http://mailman.nginx.org/mailman/listinfo/nginx
> _______________________________________________
> nginx mailing list
> nginx@nginx.org <mailto:nginx@nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx
>
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx