HI,
We have a WordPress site named it as https://www.abc.com ; We are using
Nginx
as the web server for this site. I wanted to create a proxy pass rule
like
this
https://www.abc.com/static/js/widget.js will be load from
https://www.xys.org/static/js/widget.js without changing URL
Here is the configuration that I configured for this requirement in the
www.abc.com Nginx site configuration file
location /static {
proxy_pass https://www.xys.org/static;
proxy_set_header Host www.xys.org;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
When I access https://www.abc.com/static/js/widget.js , I am getting
Nginx
404 Not Found error with the following error log in its log file
2016/04/06 06:39:14 [error] 20107#0: *907 open()
“/usr/share/nginx/html/www.abc.com/static/js/widget.js” failed (2: No
such
file or directory), client: 118.102.223.138, server: www.abc.com ,
request:
“GET /static/js/widget.js HTTP/1.1”, host: www.abc.com
I have tried different Nginx proxy pass configuration but not success
yet.
It will be good to get your thought to fix this issues
Thanks
Roni
Roni_B
April 6, 2016, 3:21pm
2
Are you sure the location is working?
abc.com/static/js/widget.js " failed (2: No such file or directory) - I
think its trying to access that file locally and not via the proxy
On Wed, Apr 6, 2016 at 4:14 PM, Roni B. [email protected]
wrote:
https://www.abc.com/static/js/widget.js will be load from
}
nginx mailing list
[email protected]
nginx Info Page
–
Anoop P Alias
Roni_B
April 6, 2016, 3:28pm
3
Yes the destination URl [https://www.xys.org/static/js/widget.js ] is
working
perfectly alone
Why it tried locally? I used proxypass rule for it. If I wanted to do
anything to enable proxy capability in my Nginx?
Thanks for your reply
Roni
Roni_B
April 6, 2016, 11:47pm
4
On Wed, Apr 06, 2016 at 06:58:07PM +0530, Roni B. wrote:
Hi there,
Yes the destination URl [https://www.xys.org/static/js/widget.js ] is working
perfectly alone
Why it tried locally? I used proxypass rule for it. If I wanted to do
anything to enable proxy capability in my Nginx?
Read Module ngx_http_core_module
Then do something like
grep location your.conf
to see which location{} blocks you have defined.
Which one of those locations will nginx use to handle this request?
The error log suggests that this request is handled in a location that
is not the one that you showed – perhaps one defined as something like
location ~ js$ {
Possibly changing your
location /static {
to
location ^~ /static {
will make it work the way you want. That would tell nginx to choose it
instead of any regex one, for this request.
Separate from that: for the proxy_pass directive, you could probably
drop
the “/static” part of the argument since it matches the request prefix.
But until the proxy_pass is actually used, changing it will make no
difference.
f
Francis D. [email protected]
Roni_B
April 7, 2016, 6:20am
5
Perfect fix… Able to solve my issues.Thanks Francis
The issue was, I configured these location blocks already in my config
file
location ~* ^.+.(jpg|jpeg|gif|css|png|ico|zip|xspf|swf|ttf|woff|js)$ {
for
serving static files directly.
It was over ride the location rule that I used
It started to work my location rule changed it like this as per your
recommendation
location ^~ /static {
Thanks a Lot
Roni B.