更换教程再次用docker构建frp反代服务代理本地主机上的业务--成功

webpenson, 1 九月, 2021

参考:

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的端口就好了

评论