{"id":172,"date":"2017-11-03T10:23:08","date_gmt":"2017-11-03T02:23:08","guid":{"rendered":"https:\/\/damogame.cn\/?p=172"},"modified":"2017-11-24T15:30:35","modified_gmt":"2017-11-24T07:30:35","slug":"centos7-%e6%90%ad%e5%bb%bangrok","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/172","title":{"rendered":"CentOS7 \u642d\u5efangrok"},"content":{"rendered":"<header class=\"post-header\">\n<section class=\"post-meta\"><time class=\"post-date\" datetime=\"2016-01-19\">19 JANUARY 2016<\/time>\u00a0on\u00a0<a href=\"http:\/\/blog.i-ai.org\/tag\/share\/\">share<\/a>,\u00a0<a href=\"http:\/\/blog.i-ai.org\/tag\/memo\/\">memo<\/a><\/section>\n<\/header>\n<section class=\"post-content\">\n<h6 id=\"ngrokhttpsngrokcom\"><a href=\"https:\/\/ngrok.com\/\">Ngrok\u5b98\u7f51<\/a><\/h6>\n<h6 id=\"ngrok\">Ngrok\u5e26\u6765\u7684\u597d\u5904<\/h6>\n<ul>\n<li>\u65e0\u9700\u53e6\u5916\u90e8\u7f72\u6f14\u793a\u7a0b\u5e8f<\/li>\n<li>\u79fb\u52a8\u8bbe\u5907\u5feb\u901f\u6d4b\u8bd5<\/li>\n<li>\u8f7b\u677e\u5efa\u7acbwebhook<\/li>\n<li>\u5728\u5c40\u57df\u7f51\u5185\u53d1\u5e03\u670d\u52a1\u5230\u516c\u7f51<\/li>\n<li>\u7b49\u7b49(\u81ea\u884c\u6316\u6398\u5427)<\/li>\n<\/ul>\n<h6 id=\"ngrok\">Ngrok\u90e8\u7f72<\/h6>\n<p><strong>\u670d\u52a1\u7aef\u90e8\u7f72<\/strong><\/p>\n<ul>\n<li>\u5b89\u88c5Go\u73af\u5883<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">wget https:\/\/storage.googleapis.com\/golang\/go1.4.1.linux-amd64.tar.gz  \r\ntar -C \/usr\/local -xzf go1.4.1.linux-amd64.tar.gz  \r\nmkdir $HOME\/go  \r\necho 'export GOROOT=\/usr\/local\/go' &gt;&gt; ~\/.bashrc  \r\necho 'export GOPATH=$HOME\/go' &gt;&gt; ~\/.bashrc  \r\necho 'export PATH=$PATH:$GOROOT\/bin:$GOPATH\/bin' &gt;&gt; ~\/.bashrc  \r\nsource $HOME\/.bashrc  \r\n<\/code><\/pre>\n<ul>\n<li>\u5b89\u88c5\u7f16\u8bd1\u73af\u5883\u4f9d\u8d56<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">yum install -y mercurial git bzr subversion  \r\n<\/code><\/pre>\n<ul>\n<li>\u4e0b\u8f7dngrok\u6e90\u7801<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">cd \/usr\/local\/src  \r\ngit clone https:\/\/github.com\/inconshreveable\/ngrok.git  \r\nexport GOPATH=\/usr\/local\/src\/ngrok\/  \r\nexport NGROK_DOMAIN=\"\u8fd9\u91cc\u586b\u5199\u81ea\u5df1\u7684\u57df\u540d\"  \r\n<\/code><\/pre>\n<ul>\n<li>\u914d\u7f6e\u8bc1\u4e66<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">cd ngrok  \r\nopenssl genrsa -out rootCA.key 2048  \r\nopenssl req -x509 -new -nodes -key rootCA.key -subj \"\/CN=$NGROK_DOMAIN\" -days 5000 -out rootCA.pem  \r\nopenssl genrsa -out device.key 2048  \r\nopenssl req -new -key device.key -subj \"\/CN=$NGROK_DOMAIN\" -out device.csr  \r\nopenssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000  \r\ncp rootCA.pem assets\/client\/tls\/ngrokroot.crt  \r\ncp device.crt assets\/server\/tls\/snakeoil.crt  \r\ncp device.key assets\/server\/tls\/snakeoil.key  \r\n<\/code><\/pre>\n<ul>\n<li>\u7f16\u8bd1ngrok\u670d\u52a1\u7aef<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">GOOS=linux GOARCH=amd64 make release-server  \r\n<\/code><\/pre>\n<ul>\n<li>\u6d4b\u8bd5\u670d\u52a1\u7aef\u8fd0\u884c<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">nohup \/usr\/local\/src\/ngrok\/bin\/ngrokd --domain=\"\u4f60\u4e4b\u524d\u586b\u5199\u7684\u57df\u540d\" --httpAddr=\":8000\" &gt;\/dev\/null 2&gt;&amp;1 &amp;  \r\nnetstat -an|grep 8000  \r\n<\/code><\/pre>\n<p><em>\uff0a\u6b64\u5904\u7684httpAddr&#8221;:8000&#8243;\u4ee3\u8868\u7ed1\u5b9a\u672c\u673a8000\u7aef\u53e3\uff0c\u4e4b\u540e\u53d1\u5e03\u7684\u5e94\u7528\u5c31\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 \u57df\u540d:8000 \u8fdb\u884c\u8bbf\u95ee<\/em><\/p>\n<p><strong>\u5ba2\u6237\u7aef\u90e8\u7f72<\/strong><\/p>\n<ul>\n<li>windows\u5ba2\u6237\u7aef\u7f16\u8bd1<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">cd \/usr\/local\/go\/src  \r\nGOOS=windows GOARCH=amd64 .\/make.bash  \r\ncd \/usr\/local\/src\/ngrok\/  \r\nGOOS=windows GOARCH=amd64 make release-client  \r\n<\/code><\/pre>\n<ul>\n<li>MacOS\u5ba2\u6237\u7aef\u7f16\u8bd1<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">cd \/usr\/local\/go\/src  \r\nGOOS=darwin GOARCH=amd64 .\/make.bash  \r\ncd \/usr\/local\/src\/ngrok\/  \r\nGOOS=darwin GOARCH=amd64 make release-client  \r\n<\/code><\/pre>\n<ul>\n<li>linux\u5ba2\u6237\u7aef\u7f16\u8bd1<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">cd \/usr\/local\/go\/src  \r\nGOOS=linux GOARCH=amd64 .\/make.bash  \r\ncd \/usr\/local\/src\/ngrok\/  \r\nGOOS=linux GOARCH=amd64 make release-client  \r\n<\/code><\/pre>\n<ul>\n<li>\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6ngrok.cfg<\/li>\n<\/ul>\n<blockquote><p>server<em>addr: &#8220;\u4f60\u4e4b\u524d\u586b\u5199\u7684\u57df\u540d:4443&#8221;<br \/>\ntrust<\/em>host<em>root<\/em>certs: false<\/p><\/blockquote>\n<ul>\n<li>\u5ba2\u6237\u7aef\u8fd0\u884c\u6d4b\u8bd5(\u9700\u8981\u8bbe\u7f6e\u5b50\u57df\u540d\u5230Ngrok\u670d\u52a1\u5668IP)<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">ngrok -config=ngrok.cfg -subdomain=test 80  \r\n<\/code><\/pre>\n<p><em>*\u4e0a\u9762\u8fd9\u6761\u547d\u4ee4\u7684\u610f\u601d\u5c31\u662f\u5c06\u672c\u673a\u7684 80\u7aef\u53e3 \u53d1\u5e03\u5230 \u201ctest.\u4f60\u8bbe\u7f6e\u7684\u57df\u540d\u201d \u4e0a\uff0c\u7531\u4e8e\u4e4b\u524d\u670d\u52a1\u7aef\u914d\u7f6e\u7684httpAddr=&#8221;:8000&#8243;\uff0c\u6240\u4ee5\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee\u00a0<a href=\"http:\/\/test.xn--6qqv7i2xdt95b8kjl4r:8000\/\">http:\/\/test.\u4f60\u8bbe\u7f6e\u7684\u57df\u540d:8000<\/a>\u00a0\u8bbf\u95ee\u5230\u672c\u673a\u768480\u7aef\u53e3\u670d\u52a1<\/em><\/p>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>19 JANUARY 2016\u00a0on\u00a0s<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[],"tags":[117],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","tag-01-linux"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}