{"id":1652,"date":"2022-12-03T15:33:42","date_gmt":"2022-12-03T07:33:42","guid":{"rendered":"https:\/\/blog.cauchyschwarz.com\/?p=1652"},"modified":"2023-01-31T23:33:27","modified_gmt":"2023-01-31T15:33:27","slug":"%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/blog.cauchyschwarz.com\/?p=1652","title":{"rendered":"\u5185\u7f51\u7a7f\u900f\u5de5\u5177"},"content":{"rendered":"\n<p><a href=\"https:\/\/cloud.tencent.com\/developer\/article\/1941962\">https:\/\/cloud.tencent.com\/developer\/article\/1941962<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.v2ex.com\/t\/567570\">https:\/\/www.v2ex.com\/t\/567570<\/a><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69e0c4dc41280\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69e0c4dc41280\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#frp\" >frp<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E6%96%87%E6%A1%A3\" >\u6587\u6863<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E7%BC%96%E8%AF%91\" >\u7f16\u8bd1<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E4%BD%BF%E7%94%A8docker%E7%89%88%E6%9C%AC\" >\u4f7f\u7528docker\u7248\u672c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E4%BD%BF%E7%94%A8\" >\u4f7f\u7528<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86tcp%E7%AB%AF%E5%8F%A3\" >\u53cd\u5411\u4ee3\u7406tcp\u7aef\u53e3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%B8%80%E4%B8%AAhttp%E6%9C%8D%E5%8A%A1\" >\u53cd\u5411\u4ee3\u7406\u4e00\u4e2ahttp\u670d\u52a1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#https2http\" >https2http<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E8%AE%BE%E7%BD%AEtoken\" >\u8bbe\u7f6etoken<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E7%9B%91%E6%8E%A7%E9%9D%A2%E6%9D%BF\" >\u76d1\u63a7\u9762\u677f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E9%85%8D%E7%BD%AE%E9%9D%A2%E6%9D%BF\" >\u914d\u7f6e\u9762\u677f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E5%88%AB%E4%BA%BA%E6%98%AF%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8frp%E7%9A%84\" >\u522b\u4eba\u662f\u600e\u4e48\u4f7f\u7528frp\u7684<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E7%9C%9F%E5%AE%9Eip\" >\u83b7\u53d6\u7528\u6237\u771f\u5b9eip<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#proxy_protocol\" >proxy protocol<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#nps\" >nps<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#%E5%AE%89%E8%A3%85\" >\u5b89\u88c5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1652\/#nps%E6%BC%8F%E6%B4%9E\" >nps\u6f0f\u6d1e<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"frp\"><\/span>frp<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p><a href=\"https:\/\/github.com\/fatedier\/frp\/tree\/master\">https:\/\/github.com\/fatedier\/frp\/tree\/master<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%96%87%E6%A1%A3\"><\/span>\u6587\u6863<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/gofrp.org\/docs\/reference\/proxy\/\">https:\/\/gofrp.org\/docs\/reference\/proxy\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%BC%96%E8%AF%91\"><\/span>\u7f16\u8bd1<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">make<\/code><\/pre>\n\n\n\n<p>\u7f16\u8bd1\u65f6\u51fa\u9519\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cannot load embed: malformed module path \"embed\": missing dot in first path element<\/code><\/pre>\n\n\n\n<p>\u539f\u56e0\u662f\u670d\u52a1\u5668\u4f7f\u7528\u7684go\u7248\u672c\u662f1.13\uff0c\u800cembed\u8fd9\u4e2a\u6a21\u5757\u9700\u8981\u5728\u66f4\u9ad8\u7248\u672c\u7684go\u4e2d\u624d\u6709\u3002<\/p>\n\n\n\n<p>\u5b89\u88c5\u9ad8\u7248\u672c\u7684\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<p>\u65b9\u5f0f\u4e00\uff1a\u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u5305\u5b89\u88c5\uff1b<\/p>\n\n\n\n<p>\u65b9\u5f0f\u4e8c\uff1a\u5b89\u88c5ppa<\/p>\n\n\n\n<p><a href=\"https:\/\/launchpad.net\/~longsleep\/+archive\/ubuntu\/golang-backports\">https:\/\/launchpad.net\/~longsleep\/+archive\/ubuntu\/golang-backports<\/a><\/p>\n\n\n\n<p>\u5b89\u88c5ppa\u65f6\u9047\u5230\u9519\u8bef\uff1asudo: apt-add-repository: command not found?<\/p>\n\n\n\n<p>\u90a3\u5c31\u518d\u5b89\u88c5\u4e0b\u8fd9\u4e2aapt-add-repository\u547d\u4ee4\uff1a<\/p>\n\n\n\n<p><a href=\"https:\/\/linuxconfig.org\/sudo-apt-add-repository-command-not-found\">https:\/\/linuxconfig.org\/sudo-apt-add-repository-command-not-found<\/a><\/p>\n\n\n\n<p>\u4e5f\u5c31\u662f\u8981\u5b89\u88c5\u4e00\u4e0bsoftware-properties-common\u8fd9\u4e2a\u547d\u4ee4\u3002<\/p>\n\n\n\n<p>\u5b89\u88c5golang-backports\u540e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo apt update\nsudo apt install golang-go<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8docker%E7%89%88%E6%9C%AC\"><\/span>\u4f7f\u7528docker\u7248\u672c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528docker\u955c\u50cf\uff0c\u4e0d\u7528\u81ea\u5df1\u7f16\u8bd1\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/registry.hub.docker.com\/r\/snowdreamtech\/frps\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/registry.hub.docker.com\/r\/snowdreamtech\/frps\/<\/a><\/p>\n\n\n\n<p>\u670d\u52a1\u5668\u7aef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker run --restart=always --network host -d -v \/etc\/frp\/frps.ini:\/etc\/frp\/frps.ini --name frps snowdreamtech\/frps\n<\/code><\/pre>\n\n\n\n<p>\u5ba2\u6237\u7aef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">docker run --restart=always --network host -d -v \/etc\/frp\/frpc.ini:\/etc\/frp\/frpc.ini --name frpc snowdreamtech\/frpc\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8\"><\/span>\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u5177\u4f53\u89c1readme\u6587\u4ef6\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86tcp%E7%AB%AF%E5%8F%A3\"><\/span>\u53cd\u5411\u4ee3\u7406tcp\u7aef\u53e3<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># frpc.ini\n[common]\nserver_addr = x.x.x.x\nserver_port = 7000\n\n[ssh]\ntype = tcp\nlocal_ip = 127.0.0.1\nlocal_port = 22\nremote_port = 6000<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%B8%80%E4%B8%AAhttp%E6%9C%8D%E5%8A%A1\"><\/span>\u53cd\u5411\u4ee3\u7406\u4e00\u4e2ahttp\u670d\u52a1<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u670d\u52a1\u7aef\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># frps.ini\n[common]\nbind_port = 7000\nvhost_http_port = 8080<\/code><\/pre>\n\n\n\n<p>\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># frpc.ini\n[common]\nserver_addr = x.x.x.x\nserver_port = 7000\n\n[web]\ntype = http\nlocal_port = 80\ncustom_domains = www.example.com<\/code><\/pre>\n\n\n\n<p>\u5916\u7f51\u8bbf\u95ee\u5730\u5740\uff1ahttp:\/\/www.example.com:8080<\/p>\n\n\n\n<p>\u8fd9\u91cc\u7684vhost_http_port\u76f8\u5f53\u4e8enginx\u76d1\u542c\u7684\u5916\u7f51\u7aef\u53e3\uff0ccustom_domains\u5219\u76f8\u5f53\u4e8e\u6309\u8bf7\u6c42\u7684\u57df\u540d\u51b3\u5b9a\u5c06\u8bf7\u6c42\u5206\u53d1\u7ed9\u54ea\u4e00\u4e2afrpc\u5ba2\u6237\u7aef\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"https2http\"><\/span>https2http<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u53ef\u4ee5\u901a\u8fc7https2http\u63d2\u4ef6\u8ba9frp\u5c06\u5916\u7f51\u7684https\u8bf7\u6c42\u8f6c\u6362\u4e3a\u5bf9\u5185\u7f51\u7684http\u8bf7\u6c42\u3002<\/p>\n\n\n\n<p>\u670d\u52a1\u7aef\u914d\u7f6e\uff1a<\/p>\n\n\n\n<p>\u589e\u52a0vhost_https_port\u914d\u7f6e\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># frps.ini\n[common]\nbind_port = 7000\nvhost_https_port = 443<\/code><\/pre>\n\n\n\n<p>\u5ba2\u6237\u7aef\u914d\u7f6e\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># frpc.ini\n[common]\nserver_addr = x.x.x.x\nserver_port = 7000\n\n[test_https2http]\ntype = https\ncustom_domains = test.example.com\n\nplugin = https2http\nplugin_local_addr = 127.0.0.1:80\nplugin_crt_path = .\/server.crt\nplugin_key_path = .\/server.key\nplugin_host_header_rewrite = 127.0.0.1\nplugin_header_X-From-Where = frp<\/code><\/pre>\n\n\n\n<p>\u5916\u7f51\u8bbf\u95ee\u5730\u5740\uff1ahttps:\/\/test.example.com<\/p>\n\n\n\n<p>\u5173\u4e8e\u5982\u4f55\u914d\u7f6eplugin_host_header_rewrite\uff1ahttps:\/\/github.com\/fatedier\/frp\/issues\/2482<\/p>\n\n\n\n<p>\u8fd9\u4e2aplugin_host_header_rewrite\u53ef\u80fd\u4f1a\u51fa\u95ee\u9898\uff0c\u9700\u8981\u591a\u5c1d\u8bd5\u4e0d\u540c\u7684\u5199\u6cd5\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E8%AE%BE%E7%BD%AEtoken\"><\/span>\u8bbe\u7f6etoken<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u4e3a\u4e86\u907f\u514d\u4efb\u610f\u5ba2\u6237\u7aef\u90fd\u53ef\u4ee5\u8fde\u4e0afrp\u670d\u52a1\u5668\uff0c\u9700\u8981\u5728\u670d\u52a1\u5668\u7684common\u914d\u7f6e\u5757\u4e2d\u8bbe\u7f6e\u4e00\u4e2atoken\uff0c\u5ba2\u6237\u7aef\u540c\u6837\u9700\u8981\u5728common\u914d\u7f6e\u5757\u4e2d\u586b\u4e00\u4e2a\u76f8\u540c\u7684token\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%9B%91%E6%8E%A7%E9%9D%A2%E6%9D%BF\"><\/span>\u76d1\u63a7\u9762\u677f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u5728<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\u670d\u52a1\u5668\u7aef\u914d\u7f6e\u6587\u4ef6<\/mark>\u91cc\u6dfb\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">[common]\ndashboard_port = 7500\n# dashboard's username and password are both optional\ndashboard_user = admin\ndashboard_pwd = admin\ndashboard_tls_mode = true\ndashboard_tls_cert_file = server.crt\ndashboard_tls_key_file = server.key<\/code><\/pre>\n\n\n\n<p>\u8bbf\u95ee\u5730\u5740\uff1ahttps:\/\/[server_addr]:7500<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E9%85%8D%E7%BD%AE%E9%9D%A2%E6%9D%BF\"><\/span>\u914d\u7f6e\u9762\u677f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u670d\u52a1\u5668\u7aef\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">[common]\nadmin_addr = 127.0.0.1\nadmin_port = 7400\nadmin_user = admin\nadmin_pwd = admin<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%88%AB%E4%BA%BA%E6%98%AF%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8frp%E7%9A%84\"><\/span>\u522b\u4eba\u662f\u600e\u4e48\u4f7f\u7528frp\u7684<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/frps.cn\/41.html\">https:\/\/frps.cn\/41.html<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E7%9C%9F%E5%AE%9Eip\"><\/span>\u83b7\u53d6\u7528\u6237\u771f\u5b9eip<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/www.v2ex.com\/t\/474820\">https:\/\/www.v2ex.com\/t\/474820<\/a><\/p>\n\n\n\n<p>\u5982\u8fd9\u4e2a\u8ba8\u8bba\u5e16\u6240\u8bf4\uff0c\u4f7f\u7528https\u534f\u8bae\u65f6\uff0c\u60f3\u8981\u83b7\u53d6\u7528\u6237\u7684\u771f\u5b9eip\u5730\u5740\uff0c\u9700\u8981\u5728frps\u7684\u670d\u52a1\u7aef\u5957\u4e00\u4e2anginx\uff0c\u5e76\u4e14\u5185\u7f51\u7684\u6e90\u7ad9\u8fd8\u9700\u8981\u6253\u5f00proxy protocol\u652f\u6301\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"proxy_protocol\"><\/span>proxy protocol<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.nginx.com\/nginx\/admin-guide\/load-balancer\/using-proxy-protocol\/\">https:\/\/docs.nginx.com\/nginx\/admin-guide\/load-balancer\/using-proxy-protocol\/<\/a><\/p>\n\n\n\n<p>\u603b\u4e4b\uff0c\u7528frp\u83b7\u53d6\u7528\u6237\u771f\u5b9eip\u592a\u9ebb\u70e6\u4e86\uff0c\u9700\u8981\u6539\u6574\u4e2a\u53cd\u5411\u4ee3\u7406\u7684\u67b6\u6784\uff0c\u670d\u52a1\u7aef\u8981\u591a\u5957\u4e00\u5c42Nginx\uff0c\u800c\u4e14\u7fa4\u6656\u7684webstation\u7684nginx\u670d\u52a1\u5668\u4f1a\u628avhost\u914d\u7f6e\u6587\u4ef6\u91cc\u6dfb\u52a0\u7684proxy protocol\u534f\u8bae\u81ea\u52a8\u6e05\u9664\u6389(\u56e0\u4e3awebstation\u9ed8\u8ba4\u662f\u53ea\u652f\u6301http\u548chttps\u7684)\uff0c\u6240\u4ee5\u5c31\u4e0d\u518d\u6298\u817efrp\u4e86\uff0c\u5c1d\u8bd5\u6362\u7528nps\uff0c\u770b\u662f\u5426\u80fd\u89e3\u51b3\u8fd9\u4e2a\u83b7\u53d6\u5ba2\u6237\u7aefip\u7684\u95ee\u9898\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"nps\"><\/span>nps<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%AE%89%E8%A3%85\"><\/span>\u5b89\u88c5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/ehang-io.github.io\/nps\/#\/install\">https:\/\/ehang-io.github.io\/nps\/#\/install<\/a><\/p>\n\n\n\n<p>\u9009\u62e9docker\u7248\u672c\u5b89\u88c5<\/p>\n\n\n\n<p>\u5ba2\u6237\u7aef\u9009\u7528\u4e0b\u9762\u8fd9\u4e2a\u7248\u672c\u7684docker\uff0c\u5176\u4ed6\u7248\u672c\u6709\u95ee\u9898\u88c5\u4e0d\u4e86\uff1a<\/p>\n\n\n\n<p><a href=\"https:\/\/registry.hub.docker.com\/r\/snowdreamtech\/npc\/\">https:\/\/registry.hub.docker.com\/r\/snowdreamtech\/npc\/<\/a><\/p>\n\n\n\n<p>\u76f4\u63a5\u5b89\u88c5\uff1a<\/p>\n\n\n\n<p><a href=\"https:\/\/juejin.cn\/post\/7035943279078146056\">https:\/\/juejin.cn\/post\/7035943279078146056<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"nps%E6%BC%8F%E6%B4%9E\"><\/span>nps\u6f0f\u6d1e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/jireh.xyz\/articles\/2022\/08\/10\/1660122191957.html\">https:\/\/jireh.xyz\/articles\/2022\/08\/10\/1660122191957.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/carr0t2\/nps-auth-bypass\">https:\/\/github.com\/carr0t2\/nps-auth-bypass<\/a><\/p>\n\n\n\n<p>\u89e3\u51b3\u529e\u6cd5\uff1a\u4e0d\u8981\u6ce8\u91caauth_key\uff0c\u5e76\u4e14\u628aauth_key\u548cauth_crypt_key\u90fd\u8bbe\u7f6e\u5f97\u590d\u6742\u4e00\u70b9\u3002<\/p>\n\n\n\n<p>\u7531\u6b64\u5f97\u51fa\u6559\u8bad\uff0c\u5728\u81ea\u5df1\u7684\u79c1\u6709\u9879\u76ee\/\u751f\u4ea7\u73af\u5883\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u5f00\u6e90\u4ee3\u7801\u9700\u8981\u8c28\u614e\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/cloud.tencent.com\/developer\/article\/1941962 https:\/\/www.v2ex.com\/t\/567570 frp https:\/\/github&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[177],"class_list":["post-1652","post","type-post","status-publish","format-standard","hentry","category-10","tag-177"],"_links":{"self":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1652"}],"version-history":[{"count":24,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1652\/revisions"}],"predecessor-version":[{"id":1808,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1652\/revisions\/1808"}],"wp:attachment":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}