参考:
https://blog.csdn.net/Huangxiang6/article/details/89246613
https://blog.csdn.net/u013331606/article/details/103972375
创建frp目录
mkdir /usr/frp && cd /usr/frp
新建frps的dockerfile
vim dockerfile
FROM alpine:3.8
MAINTAINER penson
WORKDIR /
ENV FRP_VERSION 0.24.1
RUN set -x && \
wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz && \
tar xzf frp_${FRP_VERSION}_linux_amd64.tar.gz && \
cd frp_${FRP_VERSION}_linux_amd64 && \
mkdir /frp && \
mv frps /frp && \
mv frps.ini /frp/frps.ini && \
cd .. && \
rm -rf *.tar.gz && \
rm -rf frp_${FRP_VERSION}_linux_amd64
VOLUME /frp
CMD ./frp/frps -c /frp/frps.ini
构建frps镜像的命令
docker build -t penson/frps:v0.24.1 .
新建frp配置文件
mkdir /usr/frp/frp_docker && vim frps.ini
[common]
bind_port = 8221
dashboard_user = hikstor
dashboard_pwd = 123456
dashboard_port = 8501
max_pool_count = 50000
vhost_http_port = 7088
subdomain_host = frp.sharestarta.cn
运行服务器端的frps docker镜像,命令中-v为映射本地配置文件到容器中的指定路径,这样做的好处是可以在容器外部方便修改配置文件内容:
docker run --restart always -v /usr/frp/frp_docker/frps.ini:/frp/frps.ini penson/frps:v0.24.1
登入界面查看,打不开
docker run --net=host --restart always -v /usr/frp/frp_docker/frps.ini:/frp/frps.ini penson/frps:v0.24.1
还是打不开 自己去了--net=host 加了端口
docker run -p 8501:8501 -p 8221:8221 -p 7088:7088 --restart always -v /usr/frp/frp_docker/frps.ini:/frp/frps.ini penson/frps:v0.24.1
可以打开了 不知道能不能联通 联不通 提示 500错误
查看https://www.xgboke.com/2486.html这篇文章后
1.在修改服务器中nginx.conf配置文件中http{ }里添加以下参数
server {
listen 80;
server_name *.frp.sharestarta.cn sharestarta.cn;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://$host/ http://$http_host/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
设置好后保存,重启nginx
2.修改frp服务端配置文件
既然反向代理到了8080端口,那么frp服务端的配置文件也需要进行设置
frps.ini配置文件中vhost_http_port = 7088端口 之前已设置 不用动
下面是我的客户端配置
[common]
server_addr = 123.58.197.5
server_port = 8221
[bt_webpenson_com_http]
type = http
local_ip = 192.168.0.200
local_port = 9091
subdomain = bt
到这里为止 本地的http服务已经可以代理了
后续再看看https服务 是不是就是服务端加个https的端口就好了
评论