宝塔面板和frps服务器共用80端口的方法

宝塔面板和frps服务器共用80端口的方法

第一步:修改服务器中nginx.conf配置文件

在nginx.conf中http{ }里添加以下参数

server {
listen 80;
server_name *.frp.mlcs.top;
location / {
proxy_pass http://127.0.0.1:40800;
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;
}
}

既然反向代理到了40800端口,那么frp服务端的配置文件也需要进行设置

frps.ini配置文件中vhost_http_port = 40800 端口

微信图片_20241110132923

这个端口和服务端我是直接面板的docker安装的应用。

微信图片_20241110133049

之后去客户端文件配置

[http_nas]
type = http
local_ip = 192.168.99.9
local_port = 80
custom_domains = bnas.mlcs.top
#WEB服务 NAS

域名记得指向一下就OK!

更新可SSL代码443端口

访问80不会跳转到443端口上

server {
    listen 80;
    server_name *.frp.mlcs.top;

    location / {
        proxy_pass http://127.0.0.1:40800;
        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 *.frp.mlcs.top;

    ssl_certificate /www/server/panel/vhost/cert/mlcs.top/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/mlcs.top/privkey.pem;

    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:40800;
        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;
    }
}

访问80会跳转到443端口上(记得修改参数)

server {
    listen 80;
    server_name www.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.yourdomain.com;

    ssl_certificate /usr/local/nginx/conf/ssl/yourdomain.com.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/yourdomain.com.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 off;
        proxy_set_header Host $host:80;
        proxy_ssl_server_name on;
        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;
    }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享