On Thu, Mar 31, 2016 at 01:21:02PM -0400, CJ Ess wrote: Hi there,
> I would like to have an Nginx setup where I have specific logic depending > on which interface (ip) the request arrived on. multiple server{} with different "listen"; possibly with an "include common-config" entry. Note: "listen" is on an ip, not an interface. > I was able to make this work by having a server stanza for each ip on the > server, but was't able to do a combination of a specific ip and a wildcard > ip (as a catchall) - is there a way to do that with some option combination > (i.e. nginx listens on *:80, but matches the server stanza by ip?) I don't understand what you are describing. Could you try again, perhaps with a config example? When I use === server { listen 127.0.0.1:8088; return 200 "listen 127.0.0.1:8088\n"; } server { listen 10.0.1.2:8088; return 200 "listen 10.0.1.2:8088\n"; } server { listen 8088; return 200 "listen 8088\n"; } === I get the following output, which is what I expect: $ curl http://127.0.0.1:8088/ listen 127.0.0.1:8088 $ curl http://127.0.0.2:8088/ listen 8088 > The scenario I'm playing towards is that I have a dedicated connection to a > CDN and I want to pass thru certain headers if they arrive via the > dedicated interface, strip them if they arrive on other interface. As above, if "interface" is replaced with "ip", this can work with two server{} blocks. > When I did the server{} per IP approach nginx complained about duplicate > listen settings for the second IP even though both server stanzas were > bound to a specific port/interface. Is this a bug per chance? What short server{} config can I use to reproduce the complaint? f -- Francis Daly fran...@daoine.org _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx