创建这个website的初衷

  1. 记录一些东西
  2. 想把家里空闲的PC(一台ThinkPad E470C,安装了ubuntu系统)管理起来,这样,即使在公司里,也可以远程登录到家里的E470C上做一些实验。我需要买一个有独立IP的外网虚拟主机,虚拟主机上部署frp server 服务,在E470C上部署frp client服务.
    see: https://gofrp.org/zh-cn/docs/

步骤

  1. godaddy上买个域名(fangqing.org)
  2. 买个虚拟主机,买香港的,不用备案,速度还不错(2G memory,2CPU),有独立IP(x.x.x.x)
  3. cloudflare 里注册账号,将域名的解析迁移过去,新增以下域名解析record:
   CNAME  www               fangqing.org
   A      fangqing.org      x.x.x.x   //具体的IP 
   A      *.fangqing.org    x.x.x.x  //泛域名解析
  1. 虚拟主机
    安装ubuntu系统, ubuntu中安装nginx,fprs(做内网穿透用),用systemctl将nginx和frps增加到开机自启服务中

fprs配置:启动8080端口做http转发

vhostHTTPPort=8080      
bindPort = 7000
subdomainHost = "fangqing.org"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "xxxx"
webServer.password = "xxxxx"

nginx里新增配置
将对blog.fangqing.org域名的访问forward到frps的8080端口上 ,frps的8080端口会forward到家中内网机器上

server
{
    listen 80;
    server_name blog.fangqing.org; 
    location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080;
    }
}
  1. 家中内网主机 部署nginx(默认80端口) frpc服务配置里增加ssh 和http 服务
serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

#通过域名  blog.fangqing.org 访问
[[proxies]]
name = "web"
type = "http"
localPort = 80
subdomain = "blog"

#这种方式是直接通过 IP+端口的方式访问(X.X.X.X:8888)
[[proxies]]
name = "nginx"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 8888

这样,可以通过x.x.x.x:6000端口ssh到家中的内网主机上,内网主机也给外网主机提供http服务 如此,所有的工作都可以在内网主机上完成

部署hugo服务来将markdown语法写的文章生成静态网页

总体如下

http服务  
(通过域名访问):
    cloudfare浏览----->vhost|Nginx:80--->vhost|frps:8080--->E470C|Nginx:80   

 (直接通过IP访问)
     vhost |frps:8888 ---->E470C|Nginx:80

ssh服务 
    vhost|frps:6000--->E470C|sshd:22  

坚持在blog上做记录