frp服务端与nginx共用80端口

2018年4月13日 6296点热度 5人点赞 1条评论


服务器已经用nginx 做站了,80端口只有一个,还想和frp一起使用,就只能利用nginx的反向代理实现。现在就说说具体方法:

我这里是用“OneinStack”搭建的nginx,nginx.conf文件位于/usr/local/nginx/conf下。
编辑nginx.conf文件,在http{}里添加以下参数:

server {
       listen 80;
       server_name frp.qingsay.com;
       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;
       }

http://127.0.0.1:8080;的8080端口为你frps.ini配置文件vhost_http_port = 8080端口
也就是,你需要把frps的这个改为8080端口,然后用nginx反向代理到8080端口。
server_name frp.qingsay.com; 这里填写对应域名。
也支持泛解析,例如:server_name *.qingsay.com;需要域名已经泛解析才行。
然后你的frpc客户端,对应穿透服务配置里,custom_domains = 参数,改为上面server_name *.qingsay.com; 设置的域名。

信仰飘扬

行尽天涯 静默山水间