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协议反向代理配置
