当前位置:首页 > 群晖专栏 > 技术教程 > 正文内容

宝塔面板配置 Nginx 和 frps 共存 80/443 端口及泛域名支持教程

admin5年前 (2020-04-28)技术教程564

前言

本站之前介绍过在LNMP环境下的 nginx 和 frps 共存配置教程,不过也有小伙伴咨询宝塔面板上配置的方法.鉴于大部分小伙伴只一台服务器,并且已经部署过网站,想同时使用 frps 服务,本文将介绍在宝塔面板的 LNMP 环境来配置 nginx 和 frps 共存 80/443 端口及泛域名支持的方法.

关于 nginx 和 frps 共存的方案及使用场景,推荐先阅读以下文章:
配置 Nginx 和 frps 共存 80/443 端口及泛域名支持教程



配置流程

宝塔面板 nginx 配置

按照常规方法安装宝塔面板,并在宝塔面板上安装LNMP环境.尝试添加一个网站确保服务能正常运行.如果已有网站正常运行,可以忽略此步.

查询 nginx 配置文件

宝塔面板的nginx主配置文件所在目录为/www/server/nginx/conf

常规情况下并不会修改默认配置文件,可以执行以下命令查看include的目录.

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配置文件

vi /www/server/panel/vhost/nginx/frps.conf

参考以下配置文件,注意修改域名,证书路径反代端口,本文以1234为例.

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_portvhost_https_port需修改为其他端口,本文以12345678为例.

frpc.ini

如果 frps.ini 配置了 subdomain_host 泛域名,那么 frpc.ini 中域名参数需使用 subdomain = xx 仅填写二级域名主机头即可,不要填写完整域名.

如果 frps.ini 没有配置 subdomain_host泛域名,那么 frpc.ini 中域名参数需使用 custom_domains = xx.xxx.com 需填写完整的域名.

 

结语

感谢在上文中的网友留言给出了宝塔面板上的共存解决方案.

更多FRP内网穿透相关技巧,教程及信息,请持续关注本站FRP内网穿透专栏:

FRP内网穿透专栏

 

本站提供免费和付费的技术支持.你可以通过留言,邮件,QQ的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面


扫描二维码推送至手机访问。

版权声明:本文由梦魁网络资源站发布,如需转载请注明出处。

本文链接:https://family.monkui.com:39/?id=148

标签: 技术教程
分享给朋友:

相关文章

macOS使用Github上传项目时忽略及删除.DS_Store文件教程

macOS使用Github上传项目时忽略及删除.DS_Store文件教程

前言最近又在折腾和研究Docker和GitHub,虽然不懂写代码,但靠着搜索引擎慢慢摸索,觉得很有意思,于是在Mac上安装了官方GitHub Desktop.使用过程中发现上传代码或者项目时,会把manOS的系统文件.DS_Store文件上...

iptables 常用命令,选项,参数及实例整理收集

iptables 常用命令,选项,参数及实例整理收集

前言本文整理收集了 iptables 的常用命令,参数,选项及实例以备不时之需.iptables 是运行在使用者空间的应用软体,通过控制 Linux 内核 netfilter 模组,来管理网路封包的处理和转发.目前 iptables 已内置...

腾讯云对象存储 COSCMD 工具安装配置与使用命令

腾讯云对象存储 COSCMD 工具安装配置与使用命令

前言COSCMD 工具是一款腾讯云 COS 的命令行操作工具,能方便的在 Linux 服务器上管理对象存储 COS 中的桶文件,支持上传文件,文件夹,下载文件,文件夹,以及删除功能.配合更详细的参数例如 md5 比对,跳过,删除等可以很方便...

新手教程 Nginx + TTRSS + RSSHub 整合 docker 容器化快速一键部署方案

新手教程 Nginx + TTRSS + RSSHub 整合 docker 容器化快速一键部署方案

前言rssforever.com 为网友提供免费的 RSS 和 RSSHub 服务已经一年有余,由于服务器压力及个人精力有限等原因已停止提供 RSS 服务.鉴于很多新手用户技术有限,特将 nginx , ttrss , rsshu...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。