当前位置: 首页 > Web前端 > JavaScript

TP6+Swoole4反向代理配置

时间:2023-03-26 22:22:44 JavaScript

Nginx反向代理配置首先,在配置反向代理之前,要把之前配置的pseudo-static删掉,否则保存的时候会报错。以下是反向代理的完整配置。请注意端口号[8000]当前端口号是config\swoole.php文件中server.port配置中的端口号位置~*.(php|jsp|cgi|asp|aspx)${proxy_passhttp://127.0.0.1:8000;proxy_set_header主机$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerREMOTE-HOST$remote_addr;}location/{proxy_passhttp://127.0.0.1:8000;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerREMOTE-HOST$remote_addr;add_headerX-Cache$upstream_cache_status;#SetNginxCacheadd_headerCache-Controlno-cache;expires12h;}复制代码需要兼容wss和ws协议可以通过下面的方式进行配置,只需要在location/{}-compatibility中替换配置界面即可如果使用宝塔部署项目,直接复制即可以下代码替换反向代理配置中/{}位置的代码,更改反向代理配置,不要出错;位置/{proxy_passhttp://127.0.0.1:8000;proxy_http_version1.1;proxy_read_timeout360s;proxy_redirect关闭;代理人_set_header升级$http_upgrade;proxy_set_header连接“升级”;proxy_set_header主机$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;NginxCacheadd_headerCache-Controlno-cache;expires12h;}复制代码长连接访问地址在http协议访问下使用ws协议连接socket,不需要添加端口,已经被反向代理代理到8000端口,swoole可以兼容一个端口多协议ws://www.test.comhttps协议访问使用wss协议连接socket,可以看到目前ws和wss的socket连接方式是一样的,减少了很多wss的配置问题wss://www.test.com复制代码Apache反向代理配置Apache的反向代理配置代码简单,但是比较繁琐,需要在80端口和443端口做反向代理配置,如果有更好的配置方法,请点http.conf开启代理ModuleLoadModuleproxy_modulemodules/mod_proxy.soLoadModuleproxy_connect_modulemodules/mod_proxy_connect.soLoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.soLoadModuleproxy_http_modulemodules/mod_proxy_http.so复制代码配置SSL如果你需要HTTPS访问,必须做这个配置,否则wss也无法使用Http协议反向代理配置...中间的配置不解释ProxyRequestsOffProxyPass/wsws://127.0.0.1:8000ProxyPassReverse/wsws://127.0.0.1:8000ProxyPass/http://127.0.0.1:8000ProxyPassReverse/http://127.0.0.1:8000...中间配置不解释ProxyRequestsOffProxyPass/wsws://127.0.0.1:8000ProxyPassReverse/wsws://127.0.0.1:8000ProxyPass/http://127.0.0.1:8000ProxyPassReverse/http://127.0.0.1:8000复制代码其实和80和443中的反向代理配置是一样的,只是反向代理配置放在443的端口配置中,实现http反向代理配置后访问这里,和nginx一样,只是socket连接和nginx不同。需要在域名后面加上ws才能连接。这个ws只是一个虚拟目录名,可以随意更改长连接访问地址的名字来连接http协议下的socket。注意在apache状态下一定要在域名后加/ws因为你的反向代理是代理到ws://www.test.com/wshttps下的虚拟目录ws协议下的socket连接,连接地址为同http协议下wss://www.test.com/ws复制代码如果不确定用户安装的是apache还是nginx;但是你的长连接一定要在apache下加/ws,可以加个接口配置返回nginx或者apache。如果在Swoole运行方式下无法获取服务解析器类型,则使用粗略的方法添加一个数据库系统配置供用户选择;如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:http://github.crmeb.net/u/defu非常感谢!