<br />
<b>Warning</b>:  Constant WP_DEBUG already defined in <b>/home/wwwroot/default/wp-config.php</b> on line <b>97</b><br />
{"id":159,"date":"2017-10-14T09:27:24","date_gmt":"2017-10-14T01:27:24","guid":{"rendered":"http:\/\/candy994.cn\/?p=159"},"modified":"2017-10-14T09:32:57","modified_gmt":"2017-10-14T01:32:57","slug":"%e6%90%ad%e5%bb%bangrok%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f%e6%9c%8d%e5%8a%a1","status":"publish","type":"post","link":"https:\/\/candy994.cn\/?p=159","title":{"rendered":"\u642d\u5efaNGROK\u5185\u7f51\u7a7f\u900f\u670d\u52a1"},"content":{"rendered":"<p>\u51c6\u5907\u6240\u9700\uff1a<\/p>\n<ol>\n<li>\u9876\u7ea7\u57df\u540d\uff08<a href=\"http:\/\/www.freenom.com\"><u>freenom.com<\/u><\/a>\u53ef\u6ce8\u518c\u57df\u540d\uff09<\/li>\n<li>\u670d\u52a1\u5668\u4e00\u53f0\uff0clinux\u5373\u53ef\uff08\u8fd9\u91cc\u7528\u7684\u662f\u817e\u8baf\u7684centos7.2\uff09<\/li>\n<li>\u628a\u57df\u540d\u89e3\u6790\u5230\u670d\u52a1\u5668\uff08\u8fd9\u91cc\u7528\u7684\u662fdnspod\uff09<\/li>\n<\/ol>\n<p><!--more--><\/p>\n<p>\u670d\u52a1\u5668\u7aef<\/p>\n<p>\u5b89\u88c5git<\/p>\n<p>1\u3001\u5b89\u88c5git\uff0c\u6211\u5b89\u88c5\u7684\u662f2.6\u7248\u672c\uff0c\u9632\u6b62\u4f1a\u51fa\u73b0\u53e6\u4e00\u4e2a\u9519\u8bef\uff0c\u5b89\u88c5git\u6240\u9700\u8981\u7684\u4f9d\u8d56\u5305<\/p>\n<ol>\n<li>yum\u00a0-y\u00a0install\u00a0zlib-devel\u00a0openssl-devel\u00a0perl\u00a0hg\u00a0cpio\u00a0expat-devel\u00a0gettext-devel\u00a0curl\u00a0curl-devel\u00a0perl-ExtUtils-MakeMaker\u00a0hg\u00a0wget\u00a0gcc\u00a0gcc-c++<\/li>\n<\/ol>\n<p>2\u3001\u4e0b\u8f7dgit<\/p>\n<p>wget\u00a0https:\/\/www.kernel.org\/pub\/software\/scm\/git\/git-2.6.0.tar.gz<\/p>\n<p>3\u3001\u89e3\u538bgit<\/p>\n<ol>\n<li>tar\u00a0zxvf\u00a0git-2.6.0.tar.gz<\/li>\n<\/ol>\n<p>4\u3001\u7f16\u8bd1git<\/p>\n<ol>\n<li>cd\u00a0git-2.6.0<\/li>\n<li>.\/configure\u00a0&#8211;prefix=\/usr\/local\/git<\/li>\n<li>make<\/li>\n<li>make\u00a0install<\/li>\n<\/ol>\n<p>5\u3001\u521b\u5efagit\u7684\u8f6f\u8fde\u63a5<\/p>\n<ol>\n<li>ln\u00a0-s\u00a0\/usr\/local\/git\/bin\/*\u00a0\/usr\/bin\/<\/li>\n<\/ol>\n<p>\u5b89\u88c5go\u73af\u5883<\/p>\n<p>\u51c6\u5907go\u73af\u5883\uff0c\u6211\u7684\u7cfb\u7edf\u662f64\u4f4d\u7684centos\u6240\u4ee5\u6211\u4e0b\u8f7damd64\u7684\u5305<\/p>\n<p>1\u3001\u4e0b\u8f7dgo\u7684\u8f6f\u4ef6\u5305<\/p>\n<p><a href=\"https:\/\/golangtc.com\/static\/go\/1.9.1\/go1.9.1.linux-amd64.tar.gz\"><u>https:\/\/golangtc.com\/static\/go\/1.9.1\/go1.9.1.linux-amd64.tar.gz<\/u><\/a><\/p>\n<p>2\u3001\u89e3\u538b\u51fa\u6765\u53ef\u4ee5\u968f\u4fbf\u6307\u5b9a\u4f4d\u7f6e<\/p>\n<ol>\n<li>tar\u00a0-zxvf\u00a0go1.4.2.linux-386.tar.gz<\/li>\n<li>mv\u00a0go\u00a0\/usr\/local\/<\/li>\n<\/ol>\n<p>3\u3001go\u7684\u547d\u4ee4\u9700\u8981\u505a\u8f6f\u8fde\u63a5\u5230\/usr\/bin<\/p>\n<ol>\n<li>ln\u00a0-s\u00a0\/usr\/local\/go\/bin\/*\u00a0\/usr\/bin\/<\/li>\n<\/ol>\n<p>\u7f16\u8bd1ngrok<\/p>\n<ol>\n<li>cd\u00a0\/usr\/local\/<\/li>\n<li>git\u00a0clone\u00a0https:\/\/github.com\/inconshreveable\/ngrok.git<\/li>\n<li>export\u00a0GOPATH=\/usr\/local\/ngrok\/<\/li>\n<li>export\u00a0NGROK_DOMAIN=&#8221;cn&#8221;<\/li>\n<li>cd\u00a0ngrok<\/li>\n<\/ol>\n<p>\u4e3a\u57df\u540d\u751f\u6210\u8bc1\u4e66<\/p>\n<ol>\n<li>openssl\u00a0genrsa\u00a0-out\u00a0rootCA.key2048<\/li>\n<li>openssl\u00a0req\u00a0-x509\u00a0-new\u00a0-nodes\u00a0-key\u00a0rootCA.key-subj\u00a0&#8220;\/CN=$NGROK_DOMAIN&#8221;\u00a0-days\u00a05000\u00a0-out\u00a0rootCA.pem<\/li>\n<li>openssl\u00a0genrsa\u00a0-out\u00a0server.key2048<\/li>\n<li>openssl\u00a0req\u00a0-new\u00a0-key\u00a0server.key-subj\u00a0&#8220;\/CN=$NGROK_DOMAIN&#8221;\u00a0-out\u00a0server.csr<\/li>\n<li>openssl\u00a0x509\u00a0-req\u00a0-in\u00a0server.csr-CA\u00a0rootCA.pem\u00a0-CAkey\u00a0rootCA.key\u00a0-CAcreateserial\u00a0-out\u00a0server.crt\u00a0-days\u00a05000<\/li>\n<\/ol>\n<p>\u5728\u8f6f\u4ef6\u6e90\u4ee3\u7801\u76ee\u5f55\u4e0b\u9762\u4f1a\u751f\u6210\u4e00\u4e9b\u8bc1\u4e66\u6587\u4ef6\uff0c\u6211\u4eec\u9700\u8981\u628a\u8fd9\u4e9b\u6587\u4ef6\u62f7\u8d1d\u5230\u6307\u5b9a\u4f4d\u7f6e<\/p>\n<ol>\n<li>cp\u00a0rootCA.pemassets\/client\/tls\/ngrokroot.crt<\/li>\n<li>cp\u00a0server.crtassets\/server\/tls\/snakeoil.crt<\/li>\n<li>cp\u00a0server.keyassets\/server\/tls\/snakeoil.key<\/li>\n<\/ol>\n<p>\u5982\u679c\u662f\u5728\u5929\u671d\u7684\u670d\u52a1\u5668\u9700\u8981\u6539\uff0c\u9999\u6e2f\u6216\u8005\u56fd\u5916\u7684\u670d\u52a1\u5668\u4e0d\u9700\u8981<\/p>\n<ol>\n<li>vim\u00a0\/usr\/local\/ngrok\/src\/ngrok\/log\/logger.go<\/li>\n<li>log\u00a0&#8220;github.com\/keepeye\/log4go&#8221;<\/li>\n<\/ol>\n<p>\u6307\u5b9a\u7f16\u8bd1\u73af\u5883\u53d8\u91cf\uff0c\u5982\u4f55\u786e\u8ba4GOOS\u548cGOARCH\uff0c\u53ef\u4ee5\u901a\u8fc7go env\u6765\u67e5\u770b<\/p>\n<p>\u7f16\u8bd1\u670d\u52a1\u7aef<\/p>\n<ol>\n<li>cd\u00a0\/usr\/local\/go\/src<\/li>\n<li>GOOS=linux\u00a0GOARCH=386<\/li>\n<li>.\/make.bash<\/li>\n<li>cd\u00a0\/usr\/local\/ngrok\/<\/li>\n<li>GOOS=linux\u00a0GOARCH=386<\/li>\n<li>make\u00a0release-server<\/li>\n<\/ol>\n<p>\u7f16\u8bd1\u5ba2\u6237\u7aef\uff0c\u6211\u7684\u662f\u6811\u8393\u6d3e\uff0c\u6240\u4ee5\u6211\u7684\u662f\u4e0b\u9762\u7684\u547d\u4ee4<\/p>\n<ol>\n<li>cd\u00a0\/usr\/local\/go\/src<\/li>\n<li>GOOS=linux\u00a0GOARCH=arm\u00a0.\/make.bash<\/li>\n<li>cd\u00a0\/usr\/local\/ngrok\/<\/li>\n<li>GOOS=linux\u00a0GOARCH=arm\u00a0make\u00a0release-client<\/li>\n<\/ol>\n<p>\u7f16\u8bd1\u597d\u7684\u6587\u4ef6\u5728\/usr\/local\/ngrok\/bin\u4e0b\u9762<\/p>\n<p>Windows\u7684\u5ba2\u6237\u7aef\u7f16\u8bd1<\/p>\n<p>cd\u00a0\/usr\/local\/go\/src<\/p>\n<p>GOOS=windows\u00a0GOARCH=amd64\u00a0.\/make.bash<\/p>\n<p>cd\u00a0\/usr\/local\/ngrok\/<\/p>\n<p>GOOS=windows\u00a0GOARCH=amd64\u00a0make\u00a0release-client<\/p>\n<p>\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6<\/p>\n<ol>\n<li>server_addr:&#8221;candy994.cf:4443&#8243;<\/li>\n<li>trust_host_root_certs:false<\/li>\n<\/ol>\n<p>\u670d\u52a1\u7aef\u542f\u52a8<\/p>\n<p>\/ngrokd\u00a0-domain=&#8221;candy994.cn&#8221;\u00a0-httpAddr=&#8221;:80&#8243;<\/p>\n<p>ngrokd -domain=&#8221;tunnel.tonybai.com&#8221; -httpAddr=&#8221;:8080&#8243; -httpsAddr=&#8221;:8081&#8243;<\/p>\n<p>\u5ba2\u6237\u7aef\u4f7f\u7528 \uff08\u6811\u8393\u6d3e\uff09<\/p>\n<ol>\n<li>.\/ngrok\u00a0-config=.\/ngrok.cfg-subdomain=blog\u00a080<\/li>\n<li>setsid\u00a0.\/ngrok\u00a0-config=.\/ngrok.cfg-subdomain=test\u00a080\u00a0#\u5728linux\u4e0b\u5982\u679c\u60f3\u540e\u53f0\u8fd0\u884c<\/li>\n<\/ol>\n<p>\u542f\u52a8\u6210\u529f\u5982\u4e0b\u6548\u679c<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u6ce8:\u8fd9\u91cc\u6d4b\u8bd5\u65f6\u53ea\u7f16\u8bd1\u4e86i386\u7684\u670d\u52a1\u5668\u7aef\u548carm\u7684\u5ba2\u6237\u7aef\uff0c\u5b9e\u9645\u4e0a\u53ef\u4ee5\u901a\u8fc7\u6539\u53d8GOOS\u4e0eGOARCH\u6765\u83b7\u53d6\u5404\u4e2a\u5e73\u53f0\u7684\u5ba2\u6237\u7aef\u4e0e\u670d\u52a1\u7aef\uff0cGOOS\u53ef\u4ee5\u6307\u5b9a\u4e3awindows\u3001linux \u3001 freebsd \u3001darwin (Mac OS X 10.5 or 10.6) \u548c nacl (Chrome \u7684Native Client \u63a5\u53e3) ,GOARCH\u53ef\u4ee5\u6307\u5b9a\u4e3aamd64 (64-bit x86) \u3001386 (32-bit x86) \u3001 \u548carm (32-bit ARM)\u3002<\/p>\n<p>Windows\u4e0b\u4f7f\u7528ngrok<\/p>\n<p>\u540c\u6837\u9700\u8981\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>\u8fdb\u5165ngrok\u6240\u5728\u76ee\u5f55\uff0c\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4<\/p>\n<p>ngrok.exe -config ngrok.cfg -subdomain server\u00a03389<\/p>\n<p>\u6210\u529f\u5982\u4e0b\u56fe\uff1a<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u51fa\u73b0\u8fd9\u4e2a\u9519\u8bef\u8bf4\u660e\u9700\u8981\u5b89\u88c5hg<\/p>\n<p>package code.google.com\/p\/log4go: exec: &#8220;hg&#8221;: executable file not found in $PATH<\/p>\n<p>\u89e3\u51b3\u529e\u6cd5<\/p>\n<ol>\n<li>yum\u00a0install\u00a0hg\u00a0-y<\/li>\n<\/ol>\n<p>\u7f16\u8bd1\u5230 go get gopkg.in\/yaml.v1 \u7684\u65f6\u5019\u5361\u4f4f\u4e0d\u8d70\u4e86\uff0c\u8bf4\u660e\u662fgit\u6bd4\u8f83\u4f4e\uff0c\u7248\u672c\u9700\u8981\u5927\u4e8e1.7.9.5\u4ee5\u4e0a<\/p>\n<p>fatal: Unable to find remote helper for &#8216;https&#8217; \u51fa\u73b0\u8fd9\u4e2a\u95ee\u9898\uff0c\u53ef\u4ee5\u91cd\u65b0\u5b89\u88c5 curl curl-devel \u7136\u540e\u518d\u91cd\u88c5git<\/p>\n<p>\u5b89\u88c5git-core<\/p>\n<ol>\n<li>wget\u00a0https:\/\/www.kernel.org\/pub\/software\/scm\/git\/git-core-0.99.6.tar.gz<\/li>\n<li>tar\u00a0zxvf\u00a0git-core-0.99.6.tar.gz<\/li>\n<li>cd\u00a0git-core-0.99.6<\/li>\n<li>make\u00a0prefix=\/usr\/libexec\/git-core\u00a0install<\/li>\n<li>export\u00a0PATH=$PATH:\/usr\/libexec\/git-core\/<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>\u9644\u4e0a\u6811\u8393\u6d3ecfg\u6587\u4ef6\uff1a<\/p>\n<p>~ \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u6bcf\u6b21\u7528\u547d\u4ee4\u542f\u52a8\u663e\u5f97\u6709\u4e9b\u9ebb\u70e6\uff0c\u53ef\u4ee5\u7528\u811a\u672c\u542f\u52a8\uff0c\u4e0b\u6b21\u542f\u52a8\u76f4\u63a5\u6267\u884c\u811a\u672c<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u5f53\u7136\u4e5f\u53ef\u4ee5\u628a\u811a\u672c\u5f00\u673a\u542f\u52a8 \u7f16\u8f91\/etc\/rc.local\u6587\u4ef6<\/p>\n<p>\/\/\u8bbe\u7f6engrok\u5f00\u673a\u81ea\u542f\u52a8<\/p>\n<p>cp \/usr\/local\/src\/ngrok\/bin\/ngrokd \/usr\/bin\/ngrokd<\/p>\n<p>chmod +x \/usr\/bin\/ngrokd<\/p>\n<p>vi \/etc\/rc.local<\/p>\n<p>ngrokd -domain=&#8221;candy994.cn&#8221; -httpAddr=&#8221;:8081&#8243; -httpsAddr=&#8221;:8082&#8243;<\/p>\n<p>\/usr\/local\/ngrok\/bin\/ngrokd -domain=&#8221;candy994.cn&#8221; -httpAddr=&#8221;:81&#8243;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/\u751f\u6210windows64\u4f4d\u5ba2\u6237\u7aef<\/p>\n<p>&nbsp;<\/p>\n<p>cd \/usr\/local\/go\/src\/<\/p>\n<p>GOOS=windows GOARCH=amd64\u00a0CGO_ENABLED=0 .\/make.bash<\/p>\n<p>cd \/usr\/local\/src\/ngrok<\/p>\n<p>GOOS=windows GOARCH=amd64\u00a0make release-client<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/\u751f\u6210windows32\u4f4d\u5ba2\u6237\u7aef<\/p>\n<p>&nbsp;<\/p>\n<p>cd \/usr\/local\/go\/src\/<\/p>\n<p>GOOS=windows GOARCH=386 CGO_ENABLED=0 .\/make.bash<\/p>\n<p>cd \/usr\/local\/src\/ngrok<\/p>\n<p>GOOS=windows GOARCH=386 make release-client<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/\u751f\u6210Linux\u5ba2\u6237\u7aef<\/p>\n<p>&nbsp;<\/p>\n<p>cd \/usr\/local\/go\/src\/<\/p>\n<p>GOOS=linux GOARCH=amd64 CGO_ENABLED=0 .\/make.bash<\/p>\n<p>cd \/usr\/local\/src\/ngrok<\/p>\n<p>GOOS=linux GOARCH=amd64 make release-client<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/\u751f\u6210\u6811\u8393\u6d3e\u5ba2\u6237\u7aef<\/p>\n<p>&nbsp;<\/p>\n<p>cd \/usr\/local\/go\/src\/<\/p>\n<p>GOOS=linux GOARCH=arm CGO_ENABLED=0 .\/make.bash<\/p>\n<p>cd \/usr\/local\/src\/ngrok<\/p>\n<p>GOOS=linux GOARCH=arm make release-client<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/\u5ba2\u6237\u7aef\u8fd0\u884c\u8bed\u53e5<\/p>\n<p>ngrok -config=.\/ngrok.cfg -subdomain=www 80<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\/etc\/rc.local<\/p>\n<p>&nbsp;<\/p>\n<p>Runngrok.sh<\/p>\n<p>#!\/bin\/bash<\/p>\n<p>&nbsp;<\/p>\n<p>while true<\/p>\n<p>do<\/p>\n<p>procnum=` ps -ef|grep &#8220;ngrokd&#8221;|grep -v grep|wc -l`<\/p>\n<p>if [ $procnum -eq 0 ]; then<\/p>\n<p>\/usr\/local\/ngrok\/bin\/ngrokd -domain=&#8221;candy994.cn&#8221; -httpAddr=&#8221;:82&#8243; -tunnelAddr=&#8221;:8008&#8243; &gt; \/dev\/null 2&gt;&amp;1 &amp;<\/p>\n<p>fi<\/p>\n<p>sleep 30<\/p>\n<p>done<\/p>\n<p>&nbsp;<\/p>\n<p>vi \/etc\/sysconfig\/iptables\u00a0\/\/\u8bbe\u7f6e\u9632\u706b\u5899\u653e\u884c\u7aef\u53e3<\/p>\n<p>\u6ce8\uff1a\u5982\u8fde\u63a5\u4e0d\u4e0a\u53ef\u68c0\u67e5\u7aef\u53e3\u662f\u5426\u88ab\u5360\u7528\uff0c\u662f\u5426\u88c5\u4e86\u7f51\u7ad9\u73af\u5883\uff0c\u9632\u706b\u5899\u7aef\u53e3\u662f\u5426\u5f00\u653e\u6216\u8005\u5b89\u5168\u7ec4\u7aef\u53e3\u662f\u5426\u5f00\u653e\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u51c6\u5907\u6240\u9700\uff1a \u9876\u7ea7\u57df\u540d\uff08freenom.com\u53ef\u6ce8\u518c\u57df\u540d\uff09 \u670d\u52a1\u5668\u4e00\u53f0\uff0clinux\u5373\u53ef\uff08\u8fd9\u91cc\u7528\u7684\u662f\u817e\u8baf\u7684centos7.2\uff09 \u628a\u57df\u540d\u89e3\u6790\u5230\u670d\u52a1\u5668\uff08\u8fd9\u91cc\u7528\u7684\u662fdns&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/candy994.cn\/?p=159\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/posts\/159"}],"collection":[{"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/candy994.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=159"}],"version-history":[{"count":3,"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/posts\/159\/revisions"}],"predecessor-version":[{"id":170,"href":"https:\/\/candy994.cn\/index.php?rest_route=\/wp\/v2\/posts\/159\/revisions\/170"}],"wp:attachment":[{"href":"https:\/\/candy994.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/candy994.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/candy994.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}