我搜索了论坛,但我找不到任何相关信息(或者不可能)。
我有一个像这样的.htaccess文件:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.2$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.3$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.4$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.5$
RewriteCond %{REMOTE_ADDR} !^127\.0\.1\.[0-9]{1,3}$
RewriteRule .? http://disney.com/ [L]
哪个有效,但是我们已经转移到了nginx。现在我一直认为.htaccess也适用于nginx。显然它没有,我昨天才发现这个,因为有人给我发了一封关于网站可以访问的电子邮件(或者说更好的说错误)。它根本不应该是可访问的!
无论如何,现在我很难让上述规则在nginx中运行。
感谢stackoverflow上的一些帖子,我找到了这个链接:https://winginx.com/en/htaccess
然而,这不起作用。它只创建1个IP重定向规则......?
所以,至于我的问题;
提前谢谢。
更新: 没有人有这个解决方案......? 我一直耐心等待,但没有人回答。这甚至可能吗?如果这不可能,请告诉我。谢谢!
编辑: 纠正我,如果我误解了,但上面的RewriteCond应该只允许提到的IP进入我的网站,所有其他人都被重定向到(在这个例子中)迪士尼,对吗?至少这是它在.htaccess中的工作方式。
换句话说。 IP 127.0.0.1的用户访问我的网站,因为他们是允许的规则。当IP 127.0.5.99的用户访问我的网站时,他/她将被重定向到disney.com。
下面的所有例子都是相反的。那个或我正在阅读(并理解)它显然是完全错误的。
这是我目前在“附加nginx指令”字段中所拥有的内容:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml application/x-font-ttf font/opentype;
location ~* \.(?:ico|css|js|gif|jpe?g|png|svg|woff)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
proxy_read_timeout 90;
fastcgi_read_timeout 90;
}
别无其他。
顺便说一下;此域名在CentOS 6.8下使用Plesk 12.5运行。不知道这是否重要。我正在设置Plesk CP的“附加nginx指令”。答案 0 :(得分:1)
您正在使用Plesk,我不会在Plesk CP中添加其他nginx指令'而是在/etc/nginx/nginx.conf下(&#39) ; HTTP' -section)
快速举例:
if ($remote_addr !~ "^88\.33\.160\.132$"){
set $rule_0 1$rule_0;
}
if ($remote_addr !~ "^214\.166\.12\.70$"){
set $rule_0 2$rule_0;
}
if ($remote_addr !~ "^69\.232\.83\.[0-9]{1,3}$"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
rewrite /.? http://disney.com/ last;
}
我自己测试了这个并且没有问题(IP' s是随机的)。
总的来说;这也是你想要添加gzip缓存函数的地方。
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml application/x-font-ttf font/opentype;
location ~* \.(?:ico|css|js|gif|jpe?g|png|svg|woff)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
proxy_read_timeout 90;
fastcgi_read_timeout 90;
}
我强烈建议避免使用Plesk系统,因为根据我个人的经验,这可能并且可能会导致问题。
您可能还想查看一些关于nginx的教程。以下是非常有用的:
您可能还想查看Plesk的论坛,了解有关这类问题的一般答案。
我希望这有帮助!