前提
一台公网服务器,有自己的域名,有域名证书
安装frp内网穿透服务端和客户端可以参考这篇文章:frp内网穿透之实现内网linux主机访问
公网服务器(frp服务端所在的服务器)安装nginx(略)
假设对域名www.gworg.com开通https访问,将www.gworg.com指向到公网服务器
准备完毕后,接着进行下面的配置
配置frps服务端
登录服务器,前往frps安装目录
cd /usr/local/frp_0.27.0_linux_amd64/
打开配置文件
vim frps.ini
设置虚拟端口,新增如下内容:
vhost_http_port = 7171
保存退出,重启frp
systemctl restart frps
配置Nginx代理
配置https、SSL证书,将pem(crt),key两个证书文件放在/etc/nginx/ssl_files文件夹下,命名为server.pem,server.key
创建nginx配置文件
cd /etc/nginx/conf.d/
新增一个conf文件(https_www.gworg.com.conf),输入如下配置:
# frp的接收https请求的反向代理 server { listen 443 ssl http2; listen [::]:443 ssl http2; # 访问的域名 server_name www.gworg.com; # 配置https证书 ssl_certificate "/etc/nginx/ssl_files/server.pem"; ssl_certificate_key "/etc/nginx/ssl_files/server.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { # 7171对应vhost_http_port proxy_pass http://127.0.0.1:7171; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Expect for doris proxy_set_header Expect $http_expect; proxy_connect_timeout 7d; proxy_send_timeout 7d; proxy_read_timeout 7d; } }
其中www.gworg.com为需要开通https的域名
保存文件
检查Nginx配置是否正确:
nginx -t
出现success字样表示配置成功
重启nginx
nginx -s reload
配置frp客户端
假设将本地1.1.1.1开发服务器中的80端口绑定到www.gworg.com域名,即https://www.gworg.com → http://1.1.1.1:80
登录1.1.1.1服务器,安装frpc客户端
cd /usr/local/frp_0.27.0_linux_amd64/
vim frpc.ini
新增如下配置:
[http-aaa] type = http local_port = 80 custom_domains = www.gworg.com
保存,重启frpc
systemctl restart frpc
浏览器访问:https://www.gworg.com 进行验证
原文:https://blog.csdn.net/thc1987/article/details/128080744