frp内网穿透 公网访问本地web服务http和https。
[seriesposts sid=780]
frp内网穿透的一个重要的作用就是在互联网上可以任意机器访问本地电脑的web服务
下面举例子用我的测试域名test.java-er.com 进行穿透
服务器上frps.ini文件增加vhost_http_port=82
[common] bind_port = 7000 vhost_http_port = 82 #端口自己喜好来定
客户端机器 frpc.ini文件增加节点[web]
[common] server_addr = 47.95.XX.XX #服务器IP server_port = 7000 [web] type = http local_port = 80 #本地http服务端口 custom_domains = test.java-er.com #服务器的域名
本地客户端机器apache配置文件端口为80,但是域名为test.java-er.com
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/Users/ge/ge/web/php/ge/javaer/h5" ServerName test.java-er.com # ServerAlias www.dummy-host.example.com ErrorLog "logs/dummy-host.example.com-error_log" CustomLog "logs/dummy-host.example.com-access_log" common </VirtualHost> <Directory "/Users/ge/ge/web/php/ge/javaer/h5"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
最终访问的地址不是80,是通过了服务器的test.java-er.com:82穿透到本地http的80端口,所以外网访问地址为test.java-er.com:82
我在本地放一个文件index.php
<?php echo '<meta charset="UTF-8">'; echo '我是月小升本地机器的php文件index.php, 访问我的地址test.java-er.com:82'; ?>
2019-7-21更新
https配置
# frpc.ini [common] server_addr = x.x.x.x server_port = 7000 [test_htts2http] type = https custom_domains = test.yourdomain.com plugin = https2http plugin_local_addr = 127.0.0.1:80 # HTTPS 证书相关的配置 plugin_crt_path = ./server.crt plugin_key_path = ./server.key plugin_host_header_rewrite = 127.0.0.1
1.本地的服务依然是http
2.https的key和crt 存在本地,配置给frp,不用在apache里配置,apache配置依然是http的。frp会帮助我们转化http为https
2019-08-15 内网机器断电重启动,https服务失效,查了半天
plugin_crt_path = ./server.crt
plugin_key_path = ./server.key
找不到ssl认证文件了。 所以以后配置路径开始就写全路径 /home/ssl/server.crt 就好了。
| 联系我们,咨询报价 ——(点击,查看联系方式)|