A-A+
宝塔面板7.4.5反代理无效的解决方法
在使用宝塔面板7.4.5的过程中,发现反代理功能失效了,通过向宝塔官方反馈,宝塔官方在测试后发现:虽然宝塔后台的反代理功能失效了,但是依然可以通过手动修改网站的配置文件,来实现反代理及内容替换的功能。
配置文件修改位置:

从以前的可以用的宝塔面板后台,提取了一套可以用的配置文件,将配置文件,依据自己的需求,进行修改一下,保存就可以了。下面是可以用的配置文件(修改的时候,尽量用系统自带的记事本功能,经测试使用vscode修改后,保存的时候报错!其他代码编辑工具未测试,域名处只需填写www.***.com就可以了,无需填写http://):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | server { listen 80; server_name 这里是网站的当前域名; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/这里是网站的当前域名; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 error_page 404 /404.html; error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 #PROXY-START location / { proxy_pass http://这里是需要反代理的域名; proxy_set_header Host 这里是需要反代理的域名; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; #持久化连接相关配置 #proxy_connect_timeout 30s; #proxy_read_timeout 86400s; #proxy_send_timeout 30s; #proxy_http_version 1.1; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection "upgrade"; add_header X-Cache $upstream_cache_status; proxy_set_header Accept-Encoding ""; sub_filter "这里是需要替换文字" "这里是需要替换成的文字"; sub_filter_once off; expires 12h; } location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$ { proxy_set_header Host 这里是需要反代理的域名; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_pass http://这里是需要反代理的域名; proxy_set_header Accept-Encoding ""; sub_filter "这里是需要替换文字" "这里是需要替换成的文字"; sub_filter_once off; } location ~ .*\.(html|htm|png|gif|jpeg|jpg|bmp|js|css)?$ { proxy_set_header Host 这里是需要反代理的域名; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_pass http://这里是需要反代理的域名; #缓存相关配置 #proxy_cache cache_one; #proxy_cache_key $host$request_uri$is_args$args; #proxy_cache_valid 200 304 301 302 1h; proxy_set_header Accept-Encoding ""; sub_filter "这里是需要替换文字" "这里是需要替换成的文字"; sub_filter_once off; expires 24h; } #PROXY-END include enable-php-56.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/这里是网站的当前域名.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } access_log /www/wwwlogs/这里是网站的当前域名.log; error_log /www/wwwlogs/这里是网站的当前域名.error.log; } |
经测试,修改后,宝塔面板7.4.5的反代理功能,就可以使用了。