dotnet core 通过 frp 发布自己的网站
很多時候寫出來的網站只能自己內網訪問,本文告訴大家如何通過 Frp 將自己的 asp dotnet core 網站發布到外網,讓小伙伴訪問自己的網站 通過 frp 的方式,可以解決自己的服務器性能太差的問題,通過 frp 的方式需要先存在一個外網的服務器
本文分為三個部分,第一個是創建一個簡單的 asp dotnet core 網站,第二是配置域名,第三是配置代理
要使用本文的方法需要以下三個條件
本地有 asp dotnet core 環境
有自己的外網服務器
有自己的域名
搭建本地網站
通過 asp dotnet core 搭建網站是十分簡單的,這里搭建的只是一個簡單的 api 服務
通過命令行進入一個文件夾,在這個文件里面創建 asp dotnet core 網站,通過在地址欄輸入?cmd?就可以在命令行進入當前的文件夾
在文件夾輸入下面代碼創建一個 asp dotnet core api 網站
dotnet new webapi -o 網站的項目名等待一下就可以使用命令行進入創建的網站的項目,我這里的項目是 lindexi 會在文件夾里面創建一個 lindexi 的程序
進入剛才創建的網站
cd 網站的項目名這時打開里面的 Program.cs 文件,在里面修改一點代碼,讓 asp dotnet core 綁定本地的端口
在 asp dotnet core 綁定端口的方法是通過 IWebHostBuilder 配置使用的連接
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>WebHost.CreateDefaultBuilder(args).UseUrls("http://0.0.0.0:8000").UseStartup<Startup>();這里綁定了本地的所有的 8000 端口,可以通過本地的網站的內網 ip 本地 127.0.0.1 訪問
保存關閉,然后運行下面的代碼
dotnet run如果看到下面的代碼就是創建成功
Hosting environment: Development Content root path: C:\lindexi\dotnet core 通過 frp 發布自己的網站\lindexi Now listening on: http://0.0.0.0:8000配置域名
這里域名不需要備案,簡單的方法是從 godaddy.com 購買域名
在域名管理添加一個 a 記錄
在這里寫入 Host 或 Name 輸入 server 作為你二級域名,然后在 Value 輸入你的服務器地址
這里的 Host 的名字可以隨意更改,但是這個值會在下面使用到
這里就讓 dns 的 server.lindexi.com 指向我的服務器 ip 通過訪問?http://server.lindexi.com?就可以訪問服務器
配置代理
打開自己的服務器,從服務器下載 frp 程序
在?github?下載對應的 Linux 版本的 frp 程序,然后解壓
進入 frp 文件夾,可以看到 frps.ini 文件,在這個文件輸入下面的代碼
[common] bind_port = 7000 vhost_http_port = 8080這里的?bind_port?是客戶端連接服務器的端口,客戶端需要知道服務器的 ip 和端口才能訪問到服務器
這里?vhost_http_port?就是服務器發送服務的端口
然后在服務器運行 frps 這里的 frps 的 s 指的是服務器,里面的 frpc 的 c 指的是客戶端
在本地的設備,從github下載和服務器版本相同的 frp 程序,注意版本要相同
打開 frpc.ini 文件,在里面寫入下面代碼
[common] server_addr = 23.105.201.4 server_port = 7000[web] type = http local_port = 8000 custom_domains = server.lindexi.com注意,這里的?server_addr?填寫的是你的服務器的 ip 這里的?server_port?對應服務器的?bind_port?的值
上面代碼?custom_domains?的自定義域名需要先在自己的域名配置好
上面的代碼的?local_port?就是通過 127.0.0.1 可以訪問到的自己的網站的端口,在本文前面就使用 8000 作為 12.0.0.1:8000 網站
現在嘗試在服務器運行一下 frp 服務
./frps -c ./frps.ini在本地也啟動 frp 客戶端
./frpc -c ./frpc.ini因為服務器對外的端口是 8080 也就是 frps.ini 的?vhost_http_port?的設置,需要通過域名:8080訪問
我的域名設置是 server.lindexi.com 本地的 asp dotnet core api 的鏈接是?http://127.0.0.1:8000/api/values?在瀏覽器就需要通過下面網址訪問
server.lindexi.com:8080/api/values通過 frp 就可以將自己本地的服務通過自己的服務器讓外面的小伙伴訪問,這樣就可以使用本地的幾乎無限量的本地磁盤做文件存儲,也可以使用本地的性能比服務器厲害很多的設備
總結
以上是生活随笔為你收集整理的dotnet core 通过 frp 发布自己的网站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软发布 Power BI 2020 上
- 下一篇: 感谢所有支持wuhan2020项目的朋友