解决frps和nginx抢80端口的问题
前情提要:今天为了给网站增加SSL证书部署了nginx,完事却发现frps的后台面板无法正常访问了。在查看了frps的报错,发现是80端口被占用导致的。
1 : 在frps的"frps/frps.toml"文件中修改端口为空闲端口
2 : 在frps目录下新建frps.conf(也可以直接添加在nginx.conf中)
3 : 在frps.conf文件中添加如下。 proxy_pass处填写frps中修改的端口, server_name处填写自己的域名, ssl_certificate和 ssl_certificate_key填写SSL证书cer和key的路径。
server {
listen 80;
server_name *.undefim.site;
location / {
proxy_pass http://127.0.0.1:780;
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 *.undefim.site;
ssl_certificate /root/SSL/undefim.site.cer;
ssl_certificate_key /root/SSL/undefim.site.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:7443;
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;
}
}
4 : 在nginx.conf中添加include <frps.conf文件路径> /frps.conf;(nginx.conf文件位置:/etc/nginx/nginx.conf)
5 : 重启frps
docker restart frps
6 : 重启nginx
systemctl restart nginx
过程参照文章 : https://blog.csdn.net/engineerlzk/article/details/122957432