前言
在LNMP
环境下的 nginx 和 frps 共存配置教程,不过也有小伙伴咨询宝塔面板上配置的方法.鉴于大部分小伙伴只一台服务器,并且已经部署过网站,想同时使用 frps 服务,本文将介绍在宝塔面板的 LNMP 环境来配置 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
.
修改Nginx配置文件:在Nginx的配置文件中修改配置信息
打开宝塔面板-Nginx软件-配置修改,
或者SSH登陆VPS,打开宝塔面板的nginx主配置文件所在目录/www/server/nginx/conf/nginx.conf
添加以下代码
# 处理特定的子域名 server { listen 80; server_name *.sirenyan.cn; # 强制使用 HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl; # 启用 SSL server_name *.sirenyan.cn; # Let's Encrypt SSL 证书路径 ssl_certificate /www/server/panel/vhost/cert/sirenyan.cn/fullchain.pem; #修改为证书路径 ssl_certificate_key /www/server/panel/vhost/cert/sirenyan.cn/privkey.pem; #修改为证书路径 # 配置 SSL 选项(可选) ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://localhost:5000; # 将请求代理到5000端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # 处理所有未匹配的子域名 server { listen 80; server_name _; # 处理所有未匹配的子域 location / { return 444; # 返回444(空回应) } }
二、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
需填写完整的域名.
结语
感谢在上文中的网友留言给出了宝塔面板上的共存解决方案.
转载:https://www.ioiox.com/archives/98.html