Using the mirror module
Roman Arutyunyan
arut at nginx.com
Wed Mar 14 12:33:25 UTC 2018
On Wed, Mar 14, 2018 at 08:55:39AM -0300, Kenny Meyer wrote:
> How do you define a resolver?
Use the "resolver" directive:
http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver
This only makes sense if your nginx resolves domain names in runtime.
In your configuration "staging.example.com" is resolved in runtime because
the entire URL contains a variable ($request_uri). However, if you put an ip
address instead, you will not need a resolver.
> > On 13 Mar, 2018, at 19:36, Roman Arutyunyan <arut at nginx.com> wrote:
> >
> > On Tue, Mar 13, 2018 at 06:58:25PM -0300, Kenny Meyer wrote:
> >> Hi Roman,
> >>
> >>> Are there any errors in error.log?
> >> No errors…
> >>
> >>> And what happens if you switch www.example.com and staging.example.com?
> >> Then I get redirected to staging.example.com and I don’t see any requests being logged on example.com
> >
> > Do you have a resolver defined in the http{} block?
> > Proxying to "http://staging.example.com$request_uri" requires a resolver.
> > Normally, you would have "no resolver defined to resolve ..."
> > error logged if resolver is missing, but you may not see it if, for example,
> > your log level is too high.
> >
> >>> On 13 Mar, 2018, at 18:34, Roman Arutyunyan <arut at nginx.com> wrote:
> >>>
> >>> Hi Kenny,
> >>>
> >>> On Tue, Mar 13, 2018 at 05:37:52PM -0300, Kenny Meyer wrote:
> >>>> Hi,
> >>>>
> >>>> I’m having trouble using the new mirror module. I want to mirror incoming requests from Nginx to other upstream servers. 1) a production server 2) a staging server
> >>>>
> >>>> This is my config:
> >>>>
> >>>> server {
> >>>> listen 80 default_server;
> >>>> listen [::]:80 default_server;
> >>>>
> >>>> location / {
> >>>> mirror /mirror;
> >>>> proxy_pass http://www.example.com;
> >>>> }
> >>>>
> >>>> location /mirror {
> >>>> internal;
> >>>> proxy_pass http://staging.example.com$request_uri;
> >>>> }
> >>>> }
> >>>>
> >>>> So, I request http://myserver.com (where Nginx is hosted) and it successfully redirects me to www.example.com, however I don’t see any requests hitting staging.example.com.
> >>>>
> >>>> What could be the error?
> >>>
> >>> The configuration looks fine.
> >>> Are there any errors in error.log?
> >>> And what happens if you switch www.example.com and staging.example.com?
> >>>
> >>> --
> >>> Roman Arutyunyan
> >>> _______________________________________________
> >>> nginx mailing list
> >>> nginx at nginx.org
> >>> http://mailman.nginx.org/mailman/listinfo/nginx
> >>
> >> Kenny Meyer
> >> www.kennymeyer.net
> >>
> >> _______________________________________________
> >> nginx mailing list
> >> nginx at nginx.org
> >> http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > --
> > Roman Arutyunyan
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
>
> Kenny Meyer
> www.kennymeyer.net
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
--
Roman Arutyunyan
More information about the nginx
mailing list