frp搭建内网穿透 ## 域名解析 添加 jellyfin.superpig.win的A记录 并将jellyfin服务在本地运行起来。 ## 服务端 ### 安装frp ``` wget https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_linux_amd64.tar.gz tar xzvf frp_0.25.3_linux_amd64.tar.gz mv frp_0.25.3_linux_amd64 frp ``` 修改配置文件frps.ini ``` [common] bind_port = 7000 dashboard_port = 7500 token = xxxxxxxxxx dashboard_user = admin dashboard_pwd = xxxxxxxx vhost_http_port = 8899 subdomain_host = superpig.win ``` 运行服务 ``` nohup ./frps -c frps.ini & ``` ### nginx域名映射 在/etc/nginx/sites-enabled添加文件 jellyfin.com 注意,所有的代理流量都转发到:http://127.0.0.1:8899 也就是frps监听的端口。 程序会根据配置`subdomain = jellyfin`进行匹配不同的网站 ``` server { listen 80; server_name jellyfin.superpig.win; server_tokens off; # Enforce HTTPS return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name jellyfin.superpig.win; gzip on; gzip_proxied any; gzip_min_length 1024; gzip_comp_level 3; gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png; ssl on; ssl_certificate /etc/letsencrypt/live/jellyfin.superpig.win/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/jellyfin.superpig.win/privkey.pem; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8899; 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_redirect off; ### Most PHP, Python, Rails, Java App can use this header -> https ### proxy_set_header X-Forwarded-Proto $scheme; # websocket proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ``` ## 客户端配置 按上面的方式,先在客户端将frpc下载,解压。 这里映射jellyfin,服务已经在本地 127.0.0.1:8910跑起来了 修改配置文件:frpc.ini 注意subdomin就是添加A记录中的域名 ``` [jellyfin] type = http local_ip = 127.0.0.1 local_port = 8910 subdomain = jellyfin ``` 来自 大脸猪 写于 2021-03-05 11:39 -- 更新于2021-03-22 16:53 -- 0 条评论