如何使用nginx将少量IP地址转发到特定文件。我用这个:
server_name mysite.com www.mysite.com;
if ($remote_addr = 123.123.123.123) {
rewrite ^ http://www.mysite.com/somepage.php;
}
如何添加[OR]其他地址或者我必须再次写入IF语句?
答案 0 :(得分:2)
在一个IF表达式中不可能有很多OR语句。 如何描述这些前向规则有两种解决方案:
使用内置的允许 / 拒绝操作来重定向Nginx中的多个IP地址。
例如:
server_name mysite.com www.mysite.com;
location / {
error_page 403 http://www.mysite.com/somepage.php;
deny 123.123.123.123;
deny 124.124.124.124;
deny 125.125.125.125;
deny 192.168.1.0/24; # Deny a range of IP addresses
# etc.
allow all;
index index.html index.php;
try_files $uri $uri/ @handler;
}
location /somepage.php {
allow all;
}
需要安装一个名为ngx_lua的附加nginx模块。给定模块允许您使用全值编程语言Lua来编写nginx配置。