Problem with "if" and "$remote_addr"


I have strange problem. If i enter phpinfo file i get:

So my IP is

I want to block access to location from other ips then ip in url. For

location ~ ^/([0-9.]+)/(.*?)$ {
if ($remote_addr != $1) {
return 404;

But it doesn’t work correctly :frowning:

1.) I will see value of variable $remote_addr, and it is correct result.
result is:
location ~ ^/([0-9.]+)/(.?)$ {
echo $remote_addr;
2.) I will check that $remote_addr is excaly parametr 1, and i get for
url “/”
location ~ ^/([0-9.]+)/(.
?)$ {
if ($remote_addr != $1) {
echo “$remote_addr != $1”;

And the result is “ !=”

The question: Why variable $remote_addr change value when i use “if”

Sorry for my english.

Thanks for reply

Posted at Nginx Forum:,233248,233248#msg-233248

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs