前言
本站之前介绍过在 LNMP环境下的 nginx 和 frps 共存配置教程,不过也有小伙伴咨询宝塔面板上配置的方法.鉴于大部分小伙伴只一台服务器,并且已经部署过网站,想同时使用 frps 服务,本文将介绍在宝塔面板的 LNMP 环境来配置 nginx 和 frps 共存 80/443 端口及泛域名支持的方法.
配置流程
宝塔面板 nginx 配置
按照常规方法安装宝塔面板,并在宝塔面板上安装
LNMP环境.尝试添加一个网站确保服务能正常运行.如果已有网站正常运行,可以忽略此步.
查询 nginx 配置文件
宝塔面板的
nginx主配置文件所在目录为
/www/server/nginx/conf
常规情况下并不会修改默认配置文件,可以执行以下命令查看 include的目录.
1 |
<pre class="inline:true decode:1 " >cat /www/server/nginx/conf/nginx.conf |
默认配置中显示
include的目录为
/www/server/panel/vhost/nginx,即在此目录下的
conf文件也可以被 nginx 使用.宝塔面板上创建的网站域名配置文件也在此目录.
查询站点目录
进入
/www/server/panel/vhost/nginx目录可以看出之前创建的
test.ioiox.com的配置文件也在此.
提前配置证书
证书文件可以手动上传,也可以使用已运行的网站证书,其目录为
/www/server/panel/vhost/cert.
创建 frps.conf
在上文查询的站点目录创建 frps.conf配置文件
1 |
<pre class="inline:true decode:1 " >vi /www/server/panel/vhost/nginx/frps.conf |
参考以下配置文件,注意修改 域名, 证书路径和 反代端口,本文以 1234为例.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<pre class="inline:true decode:1 " >server { listen 80; server_name *.yourdomain.com; # return 301 https://$host$request_uri; location / { proxy_pass http://127.0.0.1:1234; 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; } } server { listen 443 ssl http2; server_name *.yourdomain.com; ssl_certificate /www/server/panel/vhost/cert/yourdomain.crt; ssl_certificate_key /www/server/panel/vhost/cert/yourdomain.key; client_max_body_size 50m; client_body_buffer_size 256k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_ignore_client_abort on; location / { proxy_pass http://127.0.0.1:1234; proxy_redirect https://$host/ https://$http_host/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_ssl_server_name on; proxy_set_header Host $host; } } |
frp 配置
frps.ini
由于 nginx 占用 80/443端口, frps.ini中的 vhost_http_port和 vhost_https_port需修改为其他端口,本文以 1234和 5678为例.
frpc.ini
如果
frps.ini 配置了
subdomain_host 泛域名,那么
frpc.ini 中域名参数需使用
subdomain = xx 仅填写二级域名主机头即可,
不要填写完整域名.
如果
frps.ini 没有配置
subdomain_host泛域名,那么
frpc.ini 中域名参数需使用
custom_domains = xx.xxx.com 需填写完整的域名.
结语
感谢在上文中的网友留言给出了宝塔面板上的共存解决方案.
更多frp内网穿透相关技巧,教程及信息,请持续关注本站frp内网穿透专栏:
本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面