<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">This works for me:<br>
<blockquote type="cite"><br>
location / {<br>
alias /downloads/;<br>
autoindex on;<br>
if ($forbidlisting) {<br>
rewrite ^/(.*) /noindex_root/$1 last;<br>
}<br>
}<br>
location /noindex_root/ {<br>
internal;<br>
alias /downloads/;<br>
}</blockquote>
<br>
<br>
On 18.05.2018 19:32, Sathish Kumar wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CANa_DOjbnqck+z50oOQpr7S0ApNLumiTHzzL1fg8T3WO22AMiA@mail.gmail.com">
<div dir="auto">
<div>Hi,
<div dir="auto"><br>
</div>
<div dir="auto">I am doing for location /, in that case how
will have to change the below portion.</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<blockquote style="font-family:sans-serif">location
/downloads {<br>
alias /downloads/;<br>
autoindex on;<br>
if ($forbidlisting) {<br>
rewrite /downloads(.*) /noindex_downloads/<span
class="money">$1</span> last;<br>
}<br>
}<br>
location /noindex_downloads/ {<br>
internal;<br>
alias /downloads/;<br>
}</blockquote>
</div>
<br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Fri, May 18, 2018, 11:10 PM Igor A.
Ippolitov <<a href="mailto:iippolitov@nginx.com"
moz-do-not-send="true">iippolitov@nginx.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div class="m_-372060805414186305moz-cite-prefix">Sathish,<br>
<br>
I made a couple of minor mistakes.<br>
<br>
Please, try following configuration:<br>
<br>
<blockquote type="cite"><br>
map $remote_addr $forbidlisting {<br>
default 1;<br>
1.1.1.1 0;<br>
}<br>
location /downloads {<br>
alias /downloads/;<br>
autoindex on;<br>
if ($forbidlisting) {<br>
rewrite /downloads(.*) /noindex_downloads/$1
last;<br>
}<br>
}<br>
location /noindex_downloads/ {<br>
internal;<br>
alias /downloads/;<br>
}</blockquote>
<br>
I tried it and it works for me.<br>
<br>
<br>
On 18.05.2018 16:01, Sathish Kumar wrote:<br>
</div>
<blockquote type="cite">
<div dir="auto">Hi,
<div dir="auto"><br>
<div dir="auto">Tried this option it throws
rewrite error and am not able to download file
from non whitelisted ip addresses.</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">ERROR:</div>
<div dir="auto">rewrite or internal redirection
cycle while processing
"/noindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsnoindex_downloadsDownloads/abcd/file.zip",
client: 3.3.3.3, server: <a
href="http://abc.com" target="_blank"
rel="noreferrer" moz-do-not-send="true">abc.com</a>,
request: "GET /Downloads/abcd/file.zip </div>
<div dir="auto"><br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Fri, May 18, 2018, 8:17 PM Igor A.
Ippolitov <<a
href="mailto:iippolitov@nginx.com"
target="_blank" rel="noreferrer"
moz-do-not-send="true">iippolitov@nginx.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div
class="m_-372060805414186305m_503233695107463458moz-cite-prefix">Hello,
guys.<br>
<br>
I think, you can try something like this:<br>
<br>
location = /downloads/ {<br>
root /downloads/;<br>
allow 1.1.1.1;<br>
autoindex on;<br>
}<br>
location /downloads/ {<br>
root /downloads/;<br>
}<br>
<br>
This will work nicely if you don't need
subdirectories.<br>
If you need those, you can use a rewrite like:<br>
<br>
map $remote_addr $forbidlisting {<br>
default 1;<br>
1.1.1.1 0;<br>
}<br>
location /downloads/ {<br>
root /downloads/;<br>
autoindex on;<br>
if ($forbidlisting) {<br>
rewrite /downloads(.*)
/noindex_downloads$1 last;<br>
}<br>
}<br>
location /noindex_downloads/ {<br>
internal;<br>
root /downloads/;<br>
}<br>
<br>
<br>
On 18.05.2018 14:17, Friscia, Michael wrote:<br>
</div>
<blockquote type="cite">
<div
class="m_-372060805414186305m_503233695107463458WordSection1">
<p class="MsoNormal">I think you need to
change this a little</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"
style="margin-bottom:12.0pt">map
$remote_addr $allowed {<br>
default “off”;<br>
1.1.1.1 “on”;<br>
2.2.2.2 “on:;<br>
}</p>
<p class="MsoNormal"
style="margin-bottom:12.0pt">and then in
in the download location block<br>
<br>
autoindex $allowed;</p>
<p class="MsoNormal">I use similar logic on
different variables and try at all costs
to avoid IF statements anywhere in the
configs.</p>
<p class="MsoNormal"> </p>
<div>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">___________________________________________</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">Michael
Friscia</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">Office
of Communications</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">Yale
School of Medicine</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">(203)
737-7932 - office</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a">(203)
931-5381 - mobile</span></p>
<p class="MsoNormal"
style="text-autospace:none"><span
style="font-size:10.0pt;color:#44546a"><a
href="http://web.yale.edu/"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><span
style="color:#44546a">http://web.yale.edu</span></a></span></p>
</div>
<p class="MsoNormal"> </p>
<div style="border:none;border-top:solid
#b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:12.0pt;color:black">From:
</span></b><span
style="font-size:12.0pt;color:black">nginx
<a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:nginx-bounces@nginx.org" rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><nginx-bounces@nginx.org></a>
on behalf of PRAJITH <a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:prajithpalakkuda@gmail.com" rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><prajithpalakkuda@gmail.com></a><br>
<b>Reply-To: </b><a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:nginx@nginx.org"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true">"nginx@nginx.org"</a>
<a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:nginx@nginx.org"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><nginx@nginx.org></a><br>
<b>Date: </b>Friday, May 18, 2018 at
2:16 AM<br>
<b>To: </b><a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:nginx@nginx.org"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true">"nginx@nginx.org"</a>
<a
class="m_-372060805414186305m_503233695107463458moz-txt-link-rfc2396E"
href="mailto:nginx@nginx.org"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><nginx@nginx.org></a><br>
<b>Subject: </b>Re: Nginx Directory
Listing - Restrict by IP Address</span></p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><a
name="m_-372060805414186305_m_503233695107463458__MailOriginalBody"
rel="noreferrer noreferrer"
moz-do-not-send="true">Hi
Satish,</a></p>
</div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><span>There
are "if" constructs in nginx,
please check </span><a
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__nginx.org_r_if&d=DwMFaQ&c=cjytLXgP8ixuoHflwc-poQ&r=wvXEDjvtDPcv7AlldT5UvDx32KXBEM6um_lS023SJrs&m=fKmL-eoW-L4wbuOH4Cy1Z_3ZWkTmrmgNPGNe6O6FIV4&s=_hMwYrlV1QXfU7fEvfqx9BnEUgUoadjGtTqav5fo_7M&e="
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><span>http://nginx.org/r/if</span><span></span></a><span>.
if you want to allow multiple IP
addresses, it might be better
idea to use map. eg:<br>
<br>
map $remote_addr $allowed {<br>
default 0;<br>
1.1.1.1 1;<br>
2.2.2.2 1;<br>
}</span></p>
</div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><span>and
then in in the download location
block<br>
<br>
if ($allowed = 1) {<br>
autoindex on;<br>
}</span></p>
</div>
<p class="MsoNormal"><span>Thanks,</span></p>
</div>
<p class="MsoNormal"><span>Prajith</span></p>
</div>
<div>
<p class="MsoNormal"><span> </span></p>
<div>
<p class="MsoNormal"><span>On 18 May
2018 at 05:35, Sathish Kumar <</span><a
href="mailto:satcse88@gmail.com"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><span>satcse88@gmail.com</span><span></span></a><span>>
wrote:</span></p>
<blockquote
style="border:none;border-left:solid
#cccccc 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p
style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white;vertical-align:baseline;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;word-spacing:0px"><span><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">Hi
Team,</span></span></p>
<p
style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white;vertical-align:baseline;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;word-spacing:0px"><span><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">We
have a requirement to allow
directory listing from few
servers and disallow from
other ip addresses and all IP
addresses should be able to
download all files inside the
directory.</span></span></p>
<p
style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white;vertical-align:baseline;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;word-spacing:0px"><span><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">Can
somebody provide the correct
nginx config for the same.</span></span></p>
<pre style="background:#eff0f1;vertical-align:baseline;white-space:pre-wrap;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;max-height:600px;word-wrap:normal;overflow:auto;word-spacing:0px"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">location / {</span></code></span></pre>
<pre style="background:#eff0f1;vertical-align:baseline"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">root /downloads;</span></code></span></pre>
<pre style="background:#eff0f1;vertical-align:baseline"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">autoindex on;</span></code></span></pre>
<pre style="background:#eff0f1;vertical-align:baseline"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">allow 1.1.1.1;</span></code></span></pre>
<pre style="background:#eff0f1;vertical-align:baseline"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">deny all;</span></code></span></pre>
<pre style="background:#eff0f1;vertical-align:baseline"><span><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0in;background:#eff0f1">}</span></code></span></pre>
<p
style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white;vertical-align:baseline;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;word-spacing:0px"><span><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">If
I use the above config, only
on 1.1.1.1 IP address can
directory list from this
server and can file download
but from other IP addresses
download shows forbidden, due
to IP address restriction</span></span></p>
<p
style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;background:white;vertical-align:baseline;font-variant-ligatures:normal;font-variant-caps:normal;text-decoration-style:initial;text-decoration-color:initial;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;word-spacing:0px"><span><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">Is
there a way to overcome this
issue, thanks.</span></span></p>
<p class="MsoNormal"><span><br
clear="all">
</span></p>
<div>
<div>
<p class="MsoNormal"><span>Thanks
& Regards<br>
Sathish.V</span></p>
</div>
</div>
</div>
<p class="MsoNormal"><span><br>
_______________________________________________<br>
nginx mailing list<br>
</span><a
href="mailto:nginx@nginx.org"
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><span>nginx@nginx.org</span><span></span></a><span><br>
</span><a
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__mailman.nginx.org_mailman_listinfo_nginx&d=DwMFaQ&c=cjytLXgP8ixuoHflwc-poQ&r=wvXEDjvtDPcv7AlldT5UvDx32KXBEM6um_lS023SJrs&m=fKmL-eoW-L4wbuOH4Cy1Z_3ZWkTmrmgNPGNe6O6FIV4&s=UVcx123SYSrcJEG8dvDlswatIFjwcvFXOBJR6JO6VVk&e="
rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"><span>http://mailman.nginx.org/mailman/listinfo/nginx</span><span></span></a><span></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span> </span></p>
</div>
</div>
<br>
<fieldset
class="m_-372060805414186305m_503233695107463458mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
nginx mailing list
<a class="m_-372060805414186305m_503233695107463458moz-txt-link-abbreviated" href="mailto:nginx@nginx.org" rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">nginx@nginx.org</a>
<a class="m_-372060805414186305m_503233695107463458moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a></pre>
</blockquote>
<p><br>
</p>
</div>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" rel="noreferrer
noreferrer" target="_blank"
moz-do-not-send="true">nginx@nginx.org</a><br>
<a
href="http://mailman.nginx.org/mailman/listinfo/nginx"
rel="noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a></blockquote>
</div>
<br>
<fieldset
class="m_-372060805414186305mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
nginx mailing list
<a class="m_-372060805414186305moz-txt-link-abbreviated" href="mailto:nginx@nginx.org" target="_blank" rel="noreferrer" moz-do-not-send="true">nginx@nginx.org</a>
<a class="m_-372060805414186305moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank" rel="noreferrer" moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a></pre>
</blockquote>
<p><br>
</p>
</div>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank"
rel="noreferrer" moz-do-not-send="true">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a></blockquote>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
nginx mailing list
<a class="moz-txt-link-abbreviated" href="mailto:nginx@nginx.org">nginx@nginx.org</a>
<a class="moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx">http://mailman.nginx.org/mailman/listinfo/nginx</a></pre>
</blockquote>
<p><br>
</p>
</body>
</html>