<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]Nginx反向代理proxy_pass 的设置和访问限定之allow/deny all;，以从80端口转向其他端口，特别是对方指定IP限定才能访问的接口只有代理访问了, 被代理加上IP限定。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Web服务器]]></category>
<pubDate>Mon, 26 Jan 2015 01:55:49 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	nginx中deny和allow详解<br/>deny和allow都是在access阶段<br/>allow和deny都可以在http,server,location,limit_except中使用<br/>如果被deny则会返回“403 Forbidden”报错信息<br/>以下几个场景能够说明清楚这2个命令的具体是怎么用的<br/><textarea name="code" class="php" rows="15" cols="100">
location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;deny&nbsp;&nbsp;192.168.1.1;&nbsp;&nbsp;&nbsp;&nbsp; #支持单个IP
&nbsp;&nbsp;&nbsp;&nbsp;allow 192.168.1.0/24;&nbsp;&nbsp;#支持一个网段
&nbsp;&nbsp;&nbsp;&nbsp;allow 2001:0db8::/32;&nbsp;&nbsp;#支持ipv6
&nbsp;&nbsp;&nbsp;&nbsp;deny all;&nbsp;&nbsp; #支持all匹配到所有
&#125;

# 问：192.168.1.1 匹配到了上面的第1,2,4行，请问该ip是deny还是allow？
# 答：deny和allow是顺序匹配，匹配到即停止。所以第一条匹配到后，就直接deny了


server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;allow 10.0.9.14;
&nbsp;&nbsp;&nbsp;&nbsp;listen 8813;
&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny 10.0.9.14;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
#问：10.0.9.14在server中allow和locaton中deny都匹配到，到底是哪个生效？
#答：deny生效。参考变量的生效规则。


#问：如果一个ip没有被deny也没被allow，则怎么处理？
#答：allow


http &#123;
&nbsp;&nbsp;&nbsp;&nbsp;deny all;
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 10.0.9.14;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 8813;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
#问，除了10.0.9.14,其它的ip是否能够访问？
#答，可以。因为server中已经有了allow或deny指令，所以http中的不生效。没写allow和deny的ip默认是allow


http &#123;
&nbsp;&nbsp;&nbsp;&nbsp;deny all;
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 8813;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
#问：所有ip能否访问？
#答：不能，因为http中的deny all生效了。
</textarea><br/>来自：https://blog.csdn.net/sinat_24354307/article/details/126448475<br/><br/>背景：单位只有一个80端口能过到测试机，如果想在测试机上再开一个非nginx的自己写的server，怎么能通过测试机做server并能通过80端口转发到这个自己写的server上呢？那就得用nginx的端口转发功能了。<br/>反向代理（Reverse Proxy）方式是指以代理服务器来接受internet上的连接请求，然后将请求转发给内部网络上的服务器，并将从服务器上得到的结果返回给internet上请求连接的客户端，此时代理服务器对外就表现为一个服务器。<br/>可加在server段里，也可加在 location段里，放大内网10.65.*.*/16位掩码（10.6.0.0---10.6.255.254），同理10.4.0.0/16：<br/><textarea name="code" class="php" rows="15" cols="100">
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;cms.***.*******.com mp.***.****.net;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 10.65.0.0/16;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 10.4.0.0/16;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny all;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......
</textarea><br/><br/><textarea name="code" class="php" rows="15" cols="100">
server&#123;
&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;
&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;115.182.2*8.19*;
&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/data/logs/nginx/115-182-218-19*-access.log main;
&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/data/logs/nginx/115-182-218-19*-json.log json;
&nbsp;&nbsp;&nbsp;&nbsp;error_log&nbsp;&nbsp; /data/logs/nginx/115-182-218-19*-error.log warn;
&nbsp;&nbsp;&nbsp;&nbsp;index&nbsp;&nbsp;index-dev.php index.html index.htm ;

&nbsp;&nbsp; location /dishow/ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://d.api.domain.com/;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp; location /tishow/ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy_pass http://t.api.domain.com/;

&nbsp;&nbsp; &#125;
&nbsp;&nbsp; location /tsite/ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://t.site.domain.com/;

&nbsp;&nbsp; &#125;
&nbsp;&nbsp; location /dsite/ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy_pass http://d.site.domain.com/;

&nbsp;&nbsp; &#125;
&#125;
</textarea><br/>proxy相关参数：<br/><textarea name="code" class="php" rows="15" cols="100">
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location /my/ &#123;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_redirect off ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header Host my.domain.com;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header X-Real-IP $remote_addr;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://127.0.0.1;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#access_log off;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
</textarea><br/>被代理加上代理IP才能访问，allow：<br/><textarea name="code" class="php" rows="15" cols="100">
erver
&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;cms.domain.com;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index index.html index.htm index.php;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;/data/htdocs/cms.domain.com/public;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( $fastcgi_script_name ~ &#92;..*&#92;/.*php )&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 403;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*/(attachments&#124;customavatars&#124;error&#124;images&#124;ipdata&#124;mspace&#124;plugins&#124;templates&#124;forumdata&#124;include)/.*&#92;.php$ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny all;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(php&#124;php5)?$
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass&nbsp;&nbsp;unix:/usr/local/php/var/run/php-fpm.sock;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_index index.php;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include fastcgi.conf;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index&nbsp;&nbsp;index.php;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!-f $request_filename)&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewrite ^/(.+)$ /index.php?$1&amp; last;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 220.181.*8.*;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 202.108.*.77;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 202.108.*.78;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 202.108.*.79;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 202.108.*.80;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow 115.183.148.247;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny all;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(gif&#124;jpg&#124;jpeg&#124;png&#124;bmp&#124;swf)$ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30d;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ .*&#92;.(js&#124;css)?$ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1h;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/data/logs/access-cms.log wwwlog;
&#125;

</textarea><br/><br/><br/><br/><br/><br/>找到conf/nginx.conf文件，编辑：<br/><textarea name="code" class="php" rows="15" cols="100">
worker_processes&nbsp;&nbsp;1;
events &#123;
&nbsp;&nbsp;&nbsp;&nbsp;worker_connections&nbsp;&nbsp;1024;
&#125;
http &#123;
&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mime.types;
&nbsp;&nbsp;&nbsp;&nbsp;default_type&nbsp;&nbsp;application/octet-stream;
&nbsp;&nbsp;&nbsp;&nbsp;sendfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on;
&nbsp;&nbsp;&nbsp;&nbsp;keepalive_timeout&nbsp;&nbsp;65;
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;127.0.0.1:8080;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123; //注意，前晚别把斜杠写反了这样就会出现：404，location &#92; &#123;&nbsp;&nbsp;。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass&nbsp;&nbsp; http://127.0.0.1:8080;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
</textarea><br/>server下的结点：<br/>listen：监听80端口<br/>server_name：转发到哪个地址<br/>proxy_pass：代理到哪个地址<br/>nginx常用命令（要进入到nginx的目录）：<br/>开启：start nginx<br/>重启：nginx -s reload<br/><br/>From :http://www.cnblogs.com/wuyou/p/3455381.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]Nginx反向代理proxy_pass 的设置和访问限定之allow/deny all;，以从80端口转向其他端口，特别是对方指定IP限定才能访问的接口只有代理访问了, 被代理加上IP限定。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>