stream server name question

Phillip Odam phillip.odam at nitorgroup.com
Tue Aug 27 02:15:27 UTC 2019


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 at 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 at nitorgroup.com <mailto:phillip.odam at 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 at nginx.org  <mailto:nginx at nginx.org>
>>     http://mailman.nginx.org/mailman/listinfo/nginx
>     _______________________________________________
>     nginx mailing list
>     nginx at nginx.org <mailto:nginx at nginx.org>
>     http://mailman.nginx.org/mailman/listinfo/nginx
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20190826/c5cc5125/attachment-0001.html>


More information about the nginx mailing list