很多时候写出来的网站只能自己内网访问,本文告诉大家如何通过 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 发布自己的网站相关推荐

  1. 手把手教你用Jenkins做dotnet core自动化发布

    Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略-. 嗯?不是说好手把手么?你 ...

  2. Linux系统上部署dotnet core

    Linux系统上部署dotnet core 主要步骤如下: 安装linux Linux下安装dotnet core环境 Linux下部署dotnet core系统 主要步骤如下: 因我公司需要,做一个 ...

  3. ASP.NET.CORE发布后启动网站出现500.19-0x8007000d错误解决方法

    本项目使用的是netcoreapp2.2,缺少的XML文件是swagger.发布采用的是文件系统.依赖框架. 我第一次发布asp.net.core的后台,发布后启动网站出现500.19错误-0x800 ...

  4. C# 极限压缩 dotnet core 控制台发布文件

    每次发布 dotnet core 应用都会觉得发布文件太大,而如果使用极限压缩,用 CoreRT 能让发布的控制台文件到 5KB 左右,不需要带框架就能在其他设备运行 这是微软 MichalStreh ...

  5. 边缘化搭建 DotNet Core 2.1 自动化发布和部署(下)

    写在前面 本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作,本文主要讲解如何开启Docker Remote API,开启Remote API后的权限安全问题 ...

  6. win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...

  7. 视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

    前言 dotnet core 在3.0时代已经发展得很好. 尤其是在跨平台方面更已经是达到了很实用的阶段. 作为 dotnet 程序员, 应该对 Linux 有充分的了解, 也可以在业余时间玩玩硬件, ...

  8. 【Step By Step】将Dotnet Core部署到Docker上

    [Step By Step]将Dotnet Core部署到Docker上 原文: [Step By Step]将Dotnet Core部署到Docker上 本教程的前提是,你已经在Linux服务器上已 ...

  9. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core-使用.Net Core + Entity FrameWor ...

最新文章

  1. 鸿蒙系统用没有安卓的代码,套壳?不存在!纯鸿蒙系统不含任何安卓代码,其他手机厂商可使用...
  2. java持久性与安全性_Java持久性锁定初学者指南
  3. Linux挂载点和文件系统类型介绍
  4. jq双击放大图片_痘痘肌肤反馈图片,平时注意这3个就可以
  5. 近千人观看live,晚8点继续安排,2个CPU过高案例+1个文件数据删除案例-Oracle故障分析的方法论+DBA能力提升要领...
  6. 述职答辩提问环节一般可以问些什么_内部资料,仅供阿里在职同事传阅:晋升答辩成功要诀...
  7. python发送邮件并返回提示_用python3的smtplib库发邮件一直返回无法发送邮件提示,是什么原因?...
  8. 20210621:力扣第246周周赛(上)
  9. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_4字符输出流的基本使用_写出单个字符...
  10. eplan彻底卸载_EPLAN在64位WIN7如何永久取消驱动程序数字签名认证
  11. 某丰快递分拣小程序-python字典
  12. 校验码——CRC循环冗余校验码,码距,例题
  13. 苹果进入多事之秋,电池门禁售门病魔缠身
  14. 安卓ViewBinding详解
  15. 三端稳压管怎么接线及方法说明
  16. android8.0内置壁纸,一加手机8pro内置壁纸分享
  17. Excel.cpp和Excel.h的获取
  18. 怎样在线压缩JPEG图片大小?
  19. i = i++, i = ++i, j = i++, j = ++i 的区别
  20. 一种解决方法 Error: No such file or directory @ rb_sysopen

热门文章

  1. Teams与OneDrive for Business和SharePoint的关系
  2. 如何将Rant变成生产力电动工具
  3. 火狐 增强查找工具栏_在“提示”框中:简单的IE至Firefox同步,轻松的Windows工具栏和识别USB电缆...
  4. apple tv 开发_如何防止Apple TV进入睡眠状态
  5. word 替换 增加引号_如何在Word 2013文档中替换部分(不是全部)智能引号
  6. mysql qt自增_mysql自增设置
  7. Linux关机、重启命令
  8. HUAWEI nova 青春版闪速快充,让追剧不再断电
  9. brew mysql 添加修改mysql配置
  10. db2诊断系列之---定位锁等待问题