frps服务器上有网站如何不影响映射其他域名
文章又名:frp和Nginx(宝塔一类的设备共存)
这个方法利用的是nginx做转发,把没有在服务器使用的泛域名其他的解析到frp上的https和http端口,然后再在Nginx Proxy Manager上转发到对应的站点,此办法有一个小小的缺点,证书过期后需要服务器重新更换证书,后期将尝试解决方案。
server {
listen 80;
server_name *.qq.cn; #这里所有的qq.cn换成你的域名
location / {
proxy_pass http://127.0.0.1:780;#转发至你在frp上设置的http端口
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 *.qq.cn;
ssl_certificate /www/server/panel/vhost/nginx/qq.com/qq.com.cer; # 替换为你的SSL证书文件路径
ssl_certificate_key /www/server/panel/vhost/nginx/qq.com/qq.com.key; # 替换为你的SSL私钥文件路径
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:781;#转发至你在frp上设置的https端口
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;
}
}