{"id":339,"date":"2013-03-21T00:24:22","date_gmt":"2013-03-20T16:24:22","guid":{"rendered":"http:\/\/wp.iur.me\/?p=339"},"modified":"2022-11-06T20:15:07","modified_gmt":"2022-11-06T12:15:07","slug":"nginx%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86%e9%80%9a%e8%bf%87with-http_sub_module%e5%92%8csubstitutions4nginx%e6%a8%a1%e5%9d%97%e6%9b%bf%e6%8d%a2%e6%ad%a3%e6%96%87%e5%86%85%e5%ae%b9%e5%92%8curl","status":"publish","type":"post","link":"https:\/\/www.iur.me\/?p=339","title":{"rendered":"Nginx\u53cd\u5411\u4ee3\u7406\u901a\u8fc7with-http_sub_module\u548csubstitutions4nginx\u6a21\u5757\u66ff\u6362\u6b63\u6587\u5185\u5bb9\u548cURL"},"content":{"rendered":"<p>server<br \/>\n{<br \/>\nlisten 205.105.100.110:80;<br \/>\nserver_name www.baidu.net baidu.net;<br \/>\nsub_filter &#8216;baidu.com&#8217; &#8216;baidu.net&#8217;;<br \/>\nsub_filter_once on;<\/p>\n<p>location \/ {<br \/>\nsubs_filter_types text\/html text\/css text\/xml text\/javascript;<br \/>\nsubs_filter baidu.com baidu.net;<br \/>\nproxy_set_header X-Real-IP $remote_addr;<br \/>\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>\nproxy_set_header Referer http:\/\/www.baidu.com[\/url]; #\u5f3a\u5236\u5b9a\u4e49Referer\uff0c\u7a0b\u5e8f\u9a8c\u8bc1\u5224\u65ad\u4f1a\u7528\u5230<br \/>\nproxy_set_header Host www.baidu.com; #\u5b9a\u4e49\u4e3b\u673a\u5934\uff0c\u5982\u679c\u76ee\u6807\u7ad9\u70b9\u7ed1\u5b9a\u7684\u57df\u540d\u4e2aserver_name\u9879\u7684\u543b\u5408\u5219\u4f7f\u7528$host<br \/>\nproxy_pass http:\/\/www.baidu.com; #\u6307\u5b9a\u76ee\u6807\uff0c\u5efa\u8bae\u4f7f\u7528IP\u6216\u8005nginx\u81ea\u5b9a\u4e49\u6c60<br \/>\nproxy_redirect http:\/\/www.baidu.com [url]http:\/\/www.baidu.net;<br \/>\nproxy_set_header Accept-Encoding &#8220;&#8221;; #\u6e05\u9664\u7f16\u7801<br \/>\n}<br \/>\n}<\/p>\n<p>Nginx\u7684\u53cd\u5411\u4ee3\u7406\u529f\u80fd\u786e\u5b9e\u5f88\u65b9\u4fbf\uff0c\u7b80\u5355\u9002\u7528\uff0c\u529f\u80fd\u5f3a\u5927\u3002<br \/>\n\u4eca\u5929\u9192\u9192\u5728host1free\u7684\u514d\u8d39VPS\u4e0a\u4e5f\u505a\u4e86\u4e00\u4e2aNginx\u7684\u53cd\u5411\u4ee3\u7406www.xxorg.com\uff0c\u5e76\u901a\u8fc7with-http_sub_module\u548cHttpSubModule\u6a21\u5757\u66ff\u6362\u6b63\u6587\u5185\u5bb9\u548cURL\uff0c\u628a\u914d\u7f6e\u7684\u8fc7\u7a0b\u8bb0\u5f55\u4e0b\u6765\u3002<br \/>\n\u4f7f\u7528\u5b98\u65b9\u7684with-http_sub_module\u6a21\u5757\u53ea\u80fd\u5339\u914d1\u6761\u89c4\u5219\uff0c\u6240\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u6a21\u5757HttpSubModule\u53ef\u4ee5\u5339\u914d\u591a\u6761\u89c4\u5219<br \/>\nhost1free\u7684\u514d\u8d39VPS\u4e0a\u5df2\u7ecf\u6309\u7167\u4e86lnmp\u5957\u4ef6\uff0c\u4e3a\u4e86\u7701\u4e8b\uff0c\u76f4\u63a5\u91cd\u7f16\u8bd1\u4e86\u3002<br \/>\n\u4e00\u3001\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86SVN.<br \/>\n\u5982\u679c\u5b89\u88c5substitutions4nginx\u63d0\u793a\u9519\u8bef\uff1a-bash: svn: command not found<br \/>\n\u90a3\u4e48\u5c31\u9700\u8981\u5148\u5b89\u88c5subversion<br \/>\n\u5b89\u88c5\u547d\u4ee4\uff1ayum -y install subversion<br \/>\n\u4e8c\u3001\u91cd\u65b0\u7f16\u8bd1Nginx.<br \/>\nwget -c http:\/\/wiki.nginx.org\/images\/5\/51\/Nginx-accesskey-2.0.3.tar.gz<br \/>\ntar -zxf Nginx-accesskey-2.0.3.tar.gz<br \/>\nsvn checkout http:\/\/substitutions4nginx.googlecode.com\/svn\/trunk\/ substitutions4nginx-read-only<br \/>\ncd \/root\/lnmp0.9\/nginx-1.0.15<br \/>\n.\/configure &#8211;user=www &#8211;group=www &#8211;prefix=\/usr\/local\/nginx &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_gzip_static_module &#8211;with-ipv6 &#8211;with-pcre &#8211;with-http_sub_module &#8211;add-module=\/root\/substitutions4nginx-read-only &#8211;add-module=\/root\/nginx-accesskey-2.0.3<br \/>\nmake<br \/>\nmake install<br \/>\n\u6ce8\u610f\uff1a<br \/>\n.\/configure\u540e\u9762\u7684\u53c2\u6570\u5982\u679c\u8def\u5f84\u4e0d\u5bf9\u627e\u4e0d\u5230\u7684\u8bdd\uff0c\u6309\u7167\u5b9e\u9645\u7684\u8def\u5f84\u60c5\u51b5\u4fee\u6539<br \/>\nsubstitutions4ngin\u662f\u7528\u6765\u505a\u66ff\u6362\uff0c\u652f\u6301\u6b63\u5219\u5f0f!<br \/>\nnginx-accesskey\u636e\u8bf4\u53ef\u4ee5\u5bf9\u81ea\u5df1\u7684\u7ad9\u8fdb\u884c\u8bbe\u7f6e\uff0c\u7528\u4e8e\u9632\u6b62\u4ed6\u4eba\u53cd\u4ee3\uff0c\u5c5e\u4e8e\u975e\u5fc5\u8981\u7684\u9009\u9879\u3002<br \/>\n\u73b0\u5728\u5df2\u7ecf\u914d\u7f6e\u597dNginx\u53cd\u5411\u4ee3\u7406\u5e76\u66ff\u6362\u6b63\u6587\u5185\u5bb9\u548cURL\u7684\u73af\u5883\u4e86\u3002<br \/>\n\u4e09\u3001\u65b0\u5efa\u865a\u62df\u4e3b\u673a\u5e76\u914d\u7f6enginx.conf<br \/>\n1\u3001lnmp\u73af\u5883\u4e0b\u65b0\u5efa\u865a\u62df\u4e3b\u673a\uff0c\u6267\u884c\u547d\u4ee4\uff1a\/root\/vhost.sh \u6839\u636e\u63d0\u793a\u8f93\u5165\u57df\u540dxxorg.tvvps.com ,\u5176\u4ed6\u5168\u90e8\u9009n.<br \/>\n2\u3001\u6253\u5f00\u201c\/usr\/local\/nginx\/conf\/vhost\u201d\u4e0b\u7684\u201cxxorg.tvvps.com.conf\u201d\u8fdb\u884c\u7f16\u8f91\uff0c\u4e5f\u53ef\u4ee5\u4e0b\u8f7d\u56de\u672c\u5730\uff0c\u4fee\u6539\u540e\u518d\u4e0a\u4f20\u3002<br \/>\n3\u3001\u4fee\u6539\u201cxxorg.tvvps.com.conf\u201d\u7684\u5185\u5bb9\u4e3a\uff1a<br \/>\nserver<br \/>\n{<br \/>\nlisten 80;<br \/>\nserver_name xxorg.tvvps.com; #\u7ed1\u5b9a\u7684\u57df\u540d<br \/>\nroot \/var\/www\/xxorg.tvvps.com; #\u7f51\u7ad9\u76ee\u5f55\uff08\u642d\u914dlnamp\u7684\u65f6\u5019\u6709\u7528\u5904\uff01\uff09<br \/>\naccess_log off; #off \u5173\u95ed\u65e5\u5fd7<br \/>\nlocation \/ {<br \/>\nsubs_filter &#8216;www.xxorg.com&#8217; &#8216;xxorg.tvvps.com&#8217; gi; #substitutions4nginx\u66ff\u6362 (\u4f7f\u7528\u65b9\u6cd5\u53c2\u7167\u5b98\u65b9)<br \/>\nsubs_filter &#8216;\u670d\u52a1\u5668VPS\u6298\u817e&#8217; &#8216;TVvps.com\u6280\u672f\u652f\u6301\u535a\u5ba2&#8217; gi; #substitutions4nginx\u66ff\u6362 (\u4f7f\u7528\u65b9\u6cd5\u53c2\u7167\u5b98\u65b9)<br \/>\nproxy_set_header X-Real-IP $remote_addr;<br \/>\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>\nproxy_set_header Referer http:\/\/www.xxorg.com; #\u5f3a\u5236\u5b9a\u4e49Referer\uff0c\u7a0b\u5e8f\u9a8c\u8bc1\u5224\u65ad\u4f1a\u7528\u5230<br \/>\nproxy_set_header Host www.hostloc.com; #\u5b9a\u4e49\u4e3b\u673a\u5934\uff0c\u5982\u679c\u76ee\u6807\u7ad9\u70b9\u7ed1\u5b9a\u7684\u57df\u540d\u4e2aserver_name\u9879\u7684\u543b\u5408\u5219\u4f7f\u7528$host<br \/>\nproxy_pass http:\/\/220.181.136.34; #\u6307\u5b9a\u76ee\u6807\uff0c\u5efa\u8bae\u4f7f\u7528IP\u6216\u8005nginx\u81ea\u5b9a\u4e49\u6c60<br \/>\nproxy_set_header Accept-Encoding &#8220;&#8221;; #\u6e05\u9664\u7f16\u7801<br \/>\n}<br \/>\n}<br \/>\n4\u3001\u91cd\u542flnmp.\u547d\u4ee4:\/root\/lnmp restart<br \/>\n\u5230\u6b64\u5df2\u7ecf\u5b8c\u6210\u4e86\u3002\u6253\u5f00xxorg.tvvps.com\u4f60\u4f1a\u770b\u5230www.xxorg.com\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u5173\u952e\u5b50\u88ab\u66ff\u6362\u4e86\u3002<br \/>\n\u4e94\u3001\u51e0\u4e2a\u6709\u7528\u7684\u4e1c\u897f\u3002<br \/>\n1\u3001<br \/>\nwith-http_sub_module\u7528\u6cd5\uff1ahttp:\/\/wiki.nginx.org\/HttpSubModule<br \/>\nsubstitutions4nginx\u7528\u6cd5\uff1ahttp:\/\/code.google.com\/p\/substitutions4nginx\/<br \/>\nProxy\u8bbe\u7f6e\u53c2\u8003nginx\u5b98\u65b9wiki\u8bf4\u660e\uff1ahttp:\/\/wiki.nginx.org\/HttpProxyModule<br \/>\n2\u3001<br \/>\nsubstitutions4nginx\u53c2\u6570\uff1a<br \/>\ng(default):\u66ff\u6362\u6240\u6709\u5339\u914d\u7684\u5b57\u7b26\u4e32\u3002<br \/>\ni: \u6267\u884c\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u7684\u5339\u914d\u3002<br \/>\no: \u53ea\u9700\u5c06\u7b2c\u4e00\u4e2a\u3002<br \/>\nr: \u8be5\u6a21\u5f0f\u662f\u4f5c\u4e3a\u4e00\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u5904\u7406\uff0c\u9ed8\u8ba4\u662f\u56fa\u5b9a\u7684\u5b57\u7b26\u4e32\u3002<br \/>\n\u6b63\u5219\u8868\u8fbe\u5f0f\u5b9e\u9645\u4f7f\u7528\uff1a<br \/>\nsubs_filter \u2018&lt;(no?script.*?)&gt;(.*?)&lt;(\/no?script.*?)&gt;\u2019 \u201d gi; \/\/\u66ff\u6362\u6389\u5168\u90e8\u7684<\/p>\n<p><noscript><\/noscript>subs_filter \u2018&lt;(s?cript.*?)&gt;(?:s|S)*?&lt;(\/s?cript.*?)&gt;\u2019 \u201d gi; \/\/\u66ff\u6362\u6389\u5168\u90e8\u7684<script type=\"text\/javascript\">\/\/ <![CDATA[\n\u5305\u6362\u4e2d\u95f4\u6362\u884c\n\/\/ ]]><\/script><br \/>\nsubs_filter \u2018&lt;(i?frame.*?)&gt;(.*?)&lt;(\/i?frame.*?)&gt;\u2019 \u201d gi; \/\/\u66ff\u6362iframe<br \/>\n\u5b9e\u9645\u6d4b\u8bd5\u4e2dsub_filter\u6bd4subs_filter\u7684\u901f\u5ea6\u8981\u5feb\uff0c\u4f46\u5982\u679c\u4f60\u5f00\u542f\u4e86nginx\u7684cache\u901f\u5ea6\u4e0a\u53ef\u4ee5\u5f97\u5230\u6539\u5584\u7684\u3002<br \/>\n\u6d4b\u8bd5\u8fc7\u7a0b\u53d1\u73b0\u5bf9gzip\u6e90\u7684\u5185\u5bb9\u65e0\u6cd5\u5b9e\u73b0\u66ff\u6362\u7684\u95ee\u9898<br \/>\n\u53ef\u4ee5\u5728server\u6bb5\u5185\u52a0\u5165 proxy_set_header Accept-Encoding &#8220;&#8221;;<br \/>\n\u5982\u679c\u662f\u66ff\u6362\u4e2d\u6587\u8bcd\u7ec4\u5219\u9700\u8981\u5c06nginx\u7684\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u4e3autf-8\u683c\u5f0f\uff01<br \/>\n\u672c\u6587\u51fa\u5904\uff1a http:\/\/www.xxorg.com\/archives\/749<\/p>\n<p>nginx\u53cd\u4ee3\u52a0\u66ff\u6362\u50bb\u74dc\u6559\u7a0b(\u7a0d\u8be6\u7ec6\u7248)<\/p>\n<p>\u7531\u4e8e\u76ee\u524d\u4f7f\u7528<a href=\"http:\/\/lnmp.org\/\" target=\"_blank\" rel=\"nofollow noopener\">\u519b\u54e5\u7684lnmp\u4e00\u952e\u5305<\/a>\u7684\u4eba\u8f83\u591a\uff0c\u672c\u6559\u7a0b\u57fa\u4e8elnmp0.9\uff01\u5e95\u90e8\u6709\u5168\u65b0\u5b89\u88c5\u6559\u7a0b\u3002<\/p>\n<p>1\u3001\u4e0b\u8f7dsubstitutions4nginx\u6a21\u5757\uff0c\u8fd9\u4e2a\u6a21\u5757\u7528\u4e8e\u66ff\u6362\u3002<\/p>\n<div id=\"crayon-505d4f63ea35a\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea35a-1\">\/root\/lnmp stop #\u505c\u6b62LNMP\u670d\u52a1<\/div>\n<div id=\"crayon-505d4f63ea35a-2\">cd \/root<\/div>\n<div id=\"crayon-505d4f63ea35a-3\">wget -c http:\/\/wiki.nginx.org\/images\/5\/51\/Nginx-accesskey-2.0.3.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea35a-4\">tar -zxf Nginx-accesskey-2.0.3.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea35a-5\">svn checkout http:\/\/substitutions4nginx.googlecode.com\/svn\/trunk\/ substitutions4nginx-read-only<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2\u3001\u7f16\u8f91\u519b\u54e5LNMP\u7684upgrade_nginx.sh<\/p>\n<div id=\"crayon-505d4f63ea3dd\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea3dd-1\">vi \/root\/lnmp0.9\/upgrade_nginx.sh<\/div>\n<div id=\"crayon-505d4f63ea3dd-2\">#\u79fb\u52a8\u7b2c86\u884c\uff0c\u5728\u6700\u540e\u52a0\u5165<\/div>\n<div id=\"crayon-505d4f63ea3dd-3\">&#8211;with-http_sub_module &#8211;add-module=\/root\/substitutions4nginx-read-only<\/div>\n<div id=\"crayon-505d4f63ea3dd-4\">#\u5373\u53d8\u6210<\/div>\n<div id=\"crayon-505d4f63ea3dd-5\">.\/configure &#8211;user=www &#8211;group=www &#8211;prefix=\/usr\/local\/nginx &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_gzip_static_module &#8211;with-ipv6 &#8211;with-http_sub_module &#8211;add-module=\/root\/substitutions4nginx-read-only<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3\u3001\u91cd\u65b0\u7f16\u8bd1nginx<\/p>\n<div id=\"crayon-505d4f63ea45c\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea45c-1\">\/root\/lnmp0.9\/upgrade_nginx.sh<\/div>\n<div id=\"crayon-505d4f63ea45c-2\">#\u4f1a\u63d0\u793aCurrent Nginx Version:1.x.x<\/div>\n<div id=\"crayon-505d4f63ea45c-3\">#\u8f93\u5165\u5347\u7ea7\u7248\u672c\u53f7\u7684\u65f6\u5019\u586b\u56de\u539f\u7248\u672c\u53f7\u5373\u53ef<\/div>\n<div id=\"crayon-505d4f63ea45c-4\">###\u5982\u679c\u7f16\u8bd1\u5b8c\u540e\uff0cnginx\u4e0d\u80fd\u91cd\u542f\uff0c\u5c31\u518d\u7f16\u8bd1\u4e00\u6b21\u5427o(\u256f\u25a1\u2570)o<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4\u3001\u65b0\u5efa\u4e00\u4e2a\u865a\u62df\u4e3b\u673a\u7528\u4e8e\u53cd\u4ee3<\/p>\n<div id=\"crayon-505d4f63ea4d9\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<div>16<\/div>\n<div>17<\/div>\n<div>18<\/div>\n<div>19<\/div>\n<div>20<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea4d9-1\">vi \/usr\/local\/nginx\/conf\/vhost\/mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>.conf\u00a0\u00a0#mjj.mjj.im\u662f\u4f60\u8981\u7ed1\u5b9a\u7684\u57df\u540d\uff0c\u5f53\u7136\u4f60\u4e5f\u53ef\u4ee5\u7528\u5176\u4ed6\u540d\u5b57.conf<\/div>\n<div id=\"crayon-505d4f63ea4d9-2\"><\/div>\n<div id=\"crayon-505d4f63ea4d9-3\">\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/div>\n<div id=\"crayon-505d4f63ea4d9-4\">server{<\/div>\n<div id=\"crayon-505d4f63ea4d9-5\">listen 80;<\/div>\n<div id=\"crayon-505d4f63ea4d9-6\">server_name mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>;\u00a0\u00a0\u00a0\u00a0#\u7ed1\u5b9a\u7684\u57df\u540d<\/div>\n<div id=\"crayon-505d4f63ea4d9-7\">index index.php;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u9ed8\u8ba4\u9996\u9875<\/div>\n<div id=\"crayon-505d4f63ea4d9-8\">access_log off;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#off \u5173\u95ed\u65e5\u5fd7<\/div>\n<div id=\"crayon-505d4f63ea4d9-9\">location \/ {<\/div>\n<div id=\"crayon-505d4f63ea4d9-10\">subs_filter www.hostloc.com mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>;\u00a0\u00a0#\u66ff\u6362\u6389\u57df\u540d<\/div>\n<div id=\"crayon-505d4f63ea4d9-11\">subs_filter static\/image\/common\/logo.png http:\/\/www.mjj.im\/logo.png; #\u66ff\u6362\u6389LOGO<\/div>\n<div id=\"crayon-505d4f63ea4d9-12\">subs_filter &#8216;http:\/\/mjj.mjj.im\/uc_server\/avatar.php?uid=1&amp;amp;size&#8217; &#8216;http:\/\/mjj.mjj.im\/uc_server\/images\/noavatar_middle.gif?size&#8217;;\u00a0\u00a0 #\u66ff\u6362\u6389\u5934\u50cf<\/div>\n<div id=\"crayon-505d4f63ea4d9-13\">proxy_set_header\u00a0\u00a0 X-Real-IP\u00a0\u00a0$remote_addr;<\/div>\n<div id=\"crayon-505d4f63ea4d9-14\">proxy_set_header\u00a0\u00a0 X-Forwarded-For $proxy_add_x_forwarded_for;<\/div>\n<div id=\"crayon-505d4f63ea4d9-15\">proxy_set_header\u00a0\u00a0 Referer http:\/\/www.hostloc.com;\u00a0\u00a0\u00a0\u00a0#\u5f3a\u5236\u5b9a\u4e49Referer\uff0c\u7a0b\u5e8f\u9a8c\u8bc1\u5224\u65ad\u4f1a\u7528\u5230<\/div>\n<div id=\"crayon-505d4f63ea4d9-16\">proxy_set_header\u00a0\u00a0 Host www.hostloc.com;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5b9a\u4e49\u4e3b\u673a\u5934\uff0c\u5982\u679c\u76ee\u6807\u7ad9\u70b9\u7ed1\u5b9a\u7684\u57df\u540d\u4e2aserver_name\u9879\u7684\u543b\u5408\u5219\u4f7f\u7528$host<\/div>\n<div id=\"crayon-505d4f63ea4d9-17\">proxy_pass http:\/\/www.hostloc.com;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u6307\u5b9a\u76ee\u6807\uff0c\u5efa\u8bae\u4f7f\u7528IP\u6216\u8005nginx\u81ea\u5b9a\u4e49\u6c60<\/div>\n<div id=\"crayon-505d4f63ea4d9-18\">proxy_set_header Accept-Encoding &#8220;&#8221;;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u6e05\u9664\u7f16\u7801<\/div>\n<div id=\"crayon-505d4f63ea4d9-19\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/div>\n<div id=\"crayon-505d4f63ea4d9-20\">}<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>A\u3001\u8fd9\u5355\u5f15\u53f7\u4ec0\u4e48\u65f6\u5019\u52a0\u4ec0\u4e48\u65f6\u5019\u4e0d\u52a0\u8bf4\u4e0d\u6e05\u695a\uff0c\u81ea\u5df1\u8bd5\u9a8c\u5427O(\u2229_\u2229)O<\/p>\n<p>B\u3001\u5982\u679c\u8981\u66ff\u6362\u4e2d\u6587\uff0c\u4f8b\u5982<\/p>\n<div id=\"crayon-505d4f63ea559\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea559-1\">subs_filter &#8216;\u7f8e\u56fd&#8217; &#8216;\u7c73\u56fd&#8217;;<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u8981\u5148\u628aconf\u6587\u4ef6\u8f6c\u6210utf-8\u6a21\u5f0f\u3002\u5177\u4f53\u64cd\u4f5c\uff1a\u7528\u8bb0\u4e8b\u672c\u6253\u5f00conf\u6587\u4ef6\uff0c\u53e6\u5b58\u4e3autf-8\u7f16\u7801\uff0c\u518d\u4e0a\u4f20\u5373\u53ef\u3002<img decoding=\"async\" alt=\"\" src=\"http:\/\/img.jybb.me\/jybb\/utf-8-conf.jpg\" \/><\/p>\n<p>5\u3001\u91cd\u542fLNMP<\/p>\n<div id=\"crayon-505d4f63ea5d6\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea5d6-1\">\/root\/lnmp restart<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u5982\u65e0\u610f\u5916\uff0c\u6b64\u65f6\u8bbf\u95eemjj.mjj.im\u5c31\u4f1a\u770b\u5230\u6210\u529f\u53cd\u4ee3\u5e76\u66ff\u6362\u4e86\u3002<\/p>\n<p>#\u5982\u679c\u8981\u5f00\u542f\u65e5\u5fd7<\/p>\n<div id=\"crayon-505d4f63ea653\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea653-1\">#\u5728\/home\/wwwlogs\/\u65b0\u5efa\u4e00\u4e2a\u57df\u540d.log \u5e76\u8d4b\u4e88www\u7528\u6237644\u6743\u9650<\/div>\n<div id=\"crayon-505d4f63ea653-2\">log_format\u00a0\u00a0mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>\u00a0\u00a0&#8216;$remote_addr &#8211; $remote_user [$time_local] $request &#8216;<\/div>\n<div id=\"crayon-505d4f63ea653-3\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8216;$status $body_bytes_sent $http_referer &#8216;<\/div>\n<div id=\"crayon-505d4f63ea653-4\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8216;$http_user_agent $http_x_forwarded_for&#8217;;<\/div>\n<div id=\"crayon-505d4f63ea653-5\">server{<\/div>\n<div id=\"crayon-505d4f63ea653-6\">listen 80;<\/div>\n<div id=\"crayon-505d4f63ea653-7\">server_name mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>;\u00a0\u00a0\u00a0\u00a0 #\u7ed1\u5b9a\u7684\u57df\u540d<\/div>\n<div id=\"crayon-505d4f63ea653-8\">index index.php;\u00a0\u00a0\u00a0\u00a0 #\u9ed8\u8ba4\u9996\u9875<\/div>\n<div id=\"crayon-505d4f63ea653-9\">access_log\u00a0\u00a0\/home\/wwwlogs\/mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>.log\u00a0\u00a0mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>;\u00a0\u00a0 #\u65e5\u5fd7\u6587\u4ef6<\/div>\n<div id=\"crayon-505d4f63ea653-10\">location \/ {<\/div>\n<div id=\"crayon-505d4f63ea653-11\">\u2026\u2026<\/div>\n<div id=\"crayon-505d4f63ea653-12\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/div>\n<div id=\"crayon-505d4f63ea653-13\">}<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u4e0b\u9762\u9644\u5168\u65b0\u7f16\u8bd1nginx\u7684\u6559\u7a0b\uff1a<\/p>\n<p><strong>1\u3001\u5b89\u88c5Nginx<\/strong><\/p>\n<div id=\"crayon-505d4f63ea6d1\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea6d1-1\">#centos\u7cfb\u8bf7\u5c06apt-get\u6539\u6210yum<\/div>\n<div id=\"crayon-505d4f63ea6d1-2\">apt-get install gcc g++ vim libncurses5-dev make libxml2-dev<\/div>\n<div id=\"crayon-505d4f63ea6d1-3\">apt-get install subversion<\/div>\n<div id=\"crayon-505d4f63ea6d1-4\">apt-get install libpcre3 libpcre3-dev libcurl4-openssl-dev<\/div>\n<div id=\"crayon-505d4f63ea6d1-5\">apt-get install pcre* zlib* openssl*<\/div>\n<div id=\"crayon-505d4f63ea6d1-6\">wget -c\u00a0\u00a0http:\/\/nginx.org\/download\/nginx-1.0.5.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea6d1-7\">tar -zxf nginx-1.0.5.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea6d1-8\">wget -c http:\/\/wiki.nginx.org\/images\/5\/51\/Nginx-accesskey-2.0.3.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea6d1-9\">tar -zxf Nginx-accesskey-2.0.3.tar.gz<\/div>\n<div id=\"crayon-505d4f63ea6d1-10\">svn checkout http:\/\/substitutions4nginx.googlecode.com\/svn\/trunk\/ substitutions4nginx-read-only<\/div>\n<div id=\"crayon-505d4f63ea6d1-11\">curdir=$(pwd)<\/div>\n<div id=\"crayon-505d4f63ea6d1-12\">cd nginx-1.0.5<\/div>\n<div id=\"crayon-505d4f63ea6d1-13\">.\/configure &#8211;user=nobody &#8211;group=nobody\u00a0\u00a0&#8211;prefix=\/etc\/nginx &#8211;sbin-path=\/usr\/sbin\/nginx &#8211;pid-path=\/var\/run\/nginx.pid\u00a0\u00a0&#8211;conf-path=\/etc\/nginx\/nginx.conf\u00a0\u00a0 &#8211;with-http_stub_status_module &#8211;with-http_ssl_module &#8211;with-http_gzip_static_module &#8211;with-ipv6 &#8211;with-pcre &#8211;with-http_sub_module &#8211;add-module=$curdir\/substitutions4nginx-read-only &#8211;add-module=$curdir\/nginx-accesskey-2.0.3<\/div>\n<div id=\"crayon-505d4f63ea6d1-14\">make<\/div>\n<div id=\"crayon-505d4f63ea6d1-15\">make install<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>2\u3001\u914d\u7f6enginx.conf<\/strong>\u00a0\u7f16\u8f91\/etc\/nginx\/nginx.conf<\/p>\n<div id=\"crayon-505d4f63ea750\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea750-1\">server{<\/div>\n<div id=\"crayon-505d4f63ea750-2\">listen 80;<\/div>\n<div id=\"crayon-505d4f63ea750-3\">server_name mjj.<span style=\"color: #002d7a;\">mjj.im<\/span>;\u00a0\u00a0#\u7ed1\u5b9a\u7684\u57df\u540d<\/div>\n<div id=\"crayon-505d4f63ea750-4\">access_log off;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#off \u5173\u95ed\u65e5\u5fd7<\/div>\n<div id=\"crayon-505d4f63ea750-5\">location \/ {<\/div>\n<div id=\"crayon-505d4f63ea750-6\">subs_filter &#8216;www.baidu.com&#8217; &#8216;mjj.mjj.im&#8217;;\u00a0\u00a0#substitutions4nginx\u66ff\u6362 (\u4f7f\u7528\u65b9\u6cd5\u53c2\u7167\u5b98\u65b9)<\/div>\n<div id=\"crayon-505d4f63ea750-7\">proxy_set_header\u00a0\u00a0 X-Real-IP\u00a0\u00a0$remote_addr;<\/div>\n<div id=\"crayon-505d4f63ea750-8\">proxy_set_header\u00a0\u00a0 X-Forwarded-For $proxy_add_x_forwarded_for;<\/div>\n<div id=\"crayon-505d4f63ea750-9\">proxy_set_header\u00a0\u00a0 Referer http:\/\/www.baidu.com;\u00a0\u00a0\u00a0\u00a0#\u5f3a\u5236\u5b9a\u4e49Referer\uff0c\u7a0b\u5e8f\u9a8c\u8bc1\u5224\u65ad\u4f1a\u7528\u5230<\/div>\n<div id=\"crayon-505d4f63ea750-10\">proxy_set_header\u00a0\u00a0 Host www.baidu.com;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u5b9a\u4e49\u4e3b\u673a\u5934\uff0c\u5982\u679c\u76ee\u6807\u7ad9\u70b9\u7ed1\u5b9a\u7684\u57df\u540d\u4e2aserver_name\u9879\u7684\u543b\u5408\u5219\u4f7f\u7528$host<\/div>\n<div id=\"crayon-505d4f63ea750-11\">proxy_pass http:\/\/www.baidu.com;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u6307\u5b9a\u76ee\u6807\uff0c\u5efa\u8bae\u4f7f\u7528IP\u6216\u8005nginx\u81ea\u5b9a\u4e49\u6c60<\/div>\n<div id=\"crayon-505d4f63ea750-12\">proxy_set_header Accept-Encoding &#8220;&#8221;;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u6e05\u9664\u7f16\u7801<\/div>\n<div id=\"crayon-505d4f63ea750-13\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/div>\n<div id=\"crayon-505d4f63ea750-14\">}<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>3\uff0c\u91cd\u542fNginx<\/strong><\/p>\n<div id=\"crayon-505d4f63ea7ce\" data-settings=\" scroll-mouseover\">\n<div><\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td data-settings=\"show\">\n<div>\n<div>1<\/div>\n<div>2<\/div>\n<\/div>\n<\/td>\n<td>\n<div>\n<div id=\"crayon-505d4f63ea7ce-1\">pkill nginx #\u5173\u95ed\u8fdb\u7a0b<\/div>\n<div id=\"crayon-505d4f63ea7ce-2\">nginx #\u542f\u52a8Nginx<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u539f\u6587\u5730\u5740\uff1a<a href=\"http:\/\/wang3y2.blog.163.com\/blog\/static\/18328797201282344848800\/\">http:\/\/wang3y2.blog.163.com\/blog\/static\/18328797201282344848800\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>server { listen 205.105.100.110:80; server_name www.bai [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[39],"class_list":["post-339","post","type-post","status-publish","format-standard","hentry","category-it","tag-nginx"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/posts\/339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iur.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=339"}],"version-history":[{"count":1,"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/posts\/339\/revisions"}],"predecessor-version":[{"id":745,"href":"https:\/\/www.iur.me\/index.php?rest_route=\/wp\/v2\/posts\/339\/revisions\/745"}],"wp:attachment":[{"href":"https:\/\/www.iur.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iur.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iur.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}