因此,我开始使用棘轮集(库用于编程,并使用PHP服务器,http://socketo.me/docs/hello-world)在我的网站( web服务器本身)上编写聊天应用程序。
我把它都放在本地主机上,一切都正常。现在我想将它部署到我的web服务器上,这是一个Apache服务器。为此,我显然需要在我的web服务器前面配置反向代理,最好是使用NGINX,因为websocket服务器不能简单地在与我的Apache服务器相同的端口上侦听。
当搜索解释如何在我的Apache服务器前使用NGINX配置反向代理的源时,搜索结果/文章/教程总是告诉我如何在UBUNTU上的上使用NGINX配置反向代理。我搞不懂为什么Ubuntu总是在这里发挥作用;难道在不使用Ubuntu的情况下,在我的Apache web服务器前配置NGINX反向代理就可以了吗?
更新
我的服务器是共享主机基础上的web服务器,我没有根访问权限。那么,如果我甚至不能更改我的web服务器侦听的端口,那么是否有可能在我的web服务器前面放置一个反向代理呢?
为了更好地描述我到底想要什么:我的网站的一个特定页面应该从web服务器加载它的内容(html结构,表示聊天窗口),但是它的聊天功能,作为服务器端的PHP脚本,应该通过WebSocket连接来工作。换句话说,对于这个页面,WebSocket和WebSocket连接应该同时工作,而我只有一个Apache服务器,在共享主机的基础上,没有根访问权限,在这个服务器上存在用棘轮编程的聊天应用程序和网站的HTML页面(至少在我的本地主机上,这非常好)。在我的托管条件下,这是否可能被部署,或者我是否需要切换到另一种托管类型?
另外,请不要认为这个问题是特定于nginx。根据棘轮上的文件,我的解决办法是:
在同一台机器上使用端口8080运行web站点和WebSocket服务器,并冒险客户端代理不会阻塞端口80上的自己服务器上的流量
前面设置反向代理(Nginx、HAProxy、Varnish)。
我也算出来了(github)
可用的mod_proxy_wstunnels扩展。
我非常高兴知道四种或其他推荐的解决方案中的任何一种,即使这不包括nginx。
发布于 2020-05-19 16:27:55
在更新部分之后:我们将假设您不能在宿主解决方案本身中的宿主解决方案前面放置一个反向代理。这似乎不太可能。
我最好的选择是在专用VPS上设置一个反向代理,并将您的所有交易都传递给它,但是这个设置比您可能需要的要复杂得多。
“.在我的web服务器上,这是一个Apache服务器。”我想您使用的是一个交互的主机解决方案。在这种情况下,它将在很大程度上取决于您正在使用的特定主机。在您的CPannel中,尝试查找“反向代理”/“代理”/“套接字”/“web”参数。
如果您在VPS上托管,并将“家庭”的linux发行版作为ubuntu托管,那么请遵循教程,它可能就能工作了。否则,请查找特定于您的发行版的教程(如果您不在linux上,则查找OS )。
https://stackoverflow.com/questions/61888312
复制相似问题