我试图用django,apache和socket.iobuild立一个网站。 感谢一些教程和其他stackoverflow的问题,我设法让一切工作,除了一个严重的滞后,发生在短时间内发送多个socket.io消息。 短安装(详细设置在底部) 我在Apache中configuration的代理后面运行一个node.js socket.io服务器。 消息从socket.io客户端发送到socket.io服务器,也将转发到django,我要注册事件处理程序。 例如,我想触发一个事件,每次客户端join某个房间,通过socket.io发送一些初始数据。 Django也可以将请求发送到socket.io服务器,以触发socket.io事件(如emit),将消息发送到所有或某些socket.io客户端。 要发送和接收socket.io消息,我使用http长轮询。 问题 这个消息转发到Django,似乎减慢了socket.io通信相当多。 例如,我实现了一个简单的echo工具,像这样工作: 客户端— send message – > apache代理 – > socket.io服务器— http POST —> django – >事件处理程序(将消息发送回客户端)— http POST —> socket.io服务器 – > apache代理 – >客户端 这工作正常,如果我只发送一条消息。 但是如果我在很短的时间内发出大量的信息,就会有越来越大的滞后。 如果我只连续发送10条消息,总共有5秒的延迟,直到最后一条回显消息返回给客户端。 如果我发送更多的消息,我会得到连续收到3-4个回显消息的效果。 之后,下一个徽章到达之前,停顿约2秒钟。 这不会发生,如果我不转发消息到Django,但直接发送回来的socket.io服务器内。 当然可以预料,这个额外的组件会使事情稍微放慢一些,但是这个延迟似乎相当严重。 题 那么我做错了什么? 也许我的方法转发消息到Django本质上是错误的? 还是有一些configuration,我可以调整,以加快速度? 这个滞后来自哪里呢? 详细设置(使用代码摘录) Apache 2.4.7 www.example.com:80 提供静态文件和Django应用程序 是node.js socket.io服务器的代理 […]
我有一堆后端服务器,他们应该使https请求。 我希望所有的HTTPSstream量都是由less数几台机器进行检查和控制的(比服务器场less很多倍) – 这就是为什么我要通过一个转发代理来build立所有SSL(然后代理我的https请求)的原因。 我发现鱿鱼sslbumpfunction ,但它只适用于服务器身份validation。 我不仅需要服务器authentication,而且需要相互authentication。 你知道一些与sslbump相同的技巧,但也包括相互authentication吗? PS所有的客户端证书都在我的控制之下,我从我的代理服务器访问他们。
当支持服务器名称指示(SNI)的Web浏览器连接到HTTPS站点时,是否始终在SNI字段中发送主机名? 也就是说,Web浏览器无法知道它所连接的HTTPS站点是唯一托pipe在主机名IP上的HTTPS站点,或者如果在该IP上发生了基于SNI的基于HTTPS名称的虚拟主机,正确? Web代理应该能够检查未encryption的SNI头,并根据主机名进行网站拦截,而不是像HTTPS站点那样根据IP地址进行阻止,对吧? 除了Windows XP上的IE6 / 7以外,所有主stream浏览器都支持SNI。 谢谢。
我有一个令人困惑的问题。 我已经安装了很久以前的Apache 2.4 mod_dav_svn能够通过https URL访问我的回购站。 这一切只与Apache工作正常。 现在我切换到lighttpd,我已经通过httpspipe理访问现在与我的lighttpconfigurationproxy.server。 这项工作在浏览器中很好,我仍然可以通过浏览器访问我的回购。 但是,现在不再使用命令行或乌龟svn了。 它无限地挂起。 日志中没有任何错误,只是挂起而没有错误。 当我在命令行取消请求比它说unable to connect…但是当我在浏览器中input相同的url,它完美的作品。 我不知道如何解决这个问题。 编辑:如果我在lighttpd侧禁用SSL并通过端口80传递它也不起作用。 它要求用户名和通行证,而不是挂起。 这是我的lighttpdconfiguration $SERVER["socket"] == ":443" { ssl.engine = "enable", server.errorlog = "/var/log/lighttpd/ssl-error.log", ssl.pemfile = "/etc/ssl/owncerts/defaultcert.pem", HTTP["host"] == "myhost.com"{ server.document-root = "/srv/default/htdocs", ssl.pemfile = "/etc/ssl/owncerts/myhost.com.pem", proxy.server = ( "" => (("host" => "127.0.0.1", "port" => 8443)) ) } } 这里是我的Apacheconfiguration […]
我已经search了很多的解决scheme,大多数答案都属于proxypass(反向代理)或不相关。 最终用户的Web浏览器被configuration为使用Apache代理服务器。 我想将所有用户redirect到单个网页(如果可能,请在同一台服务器上)。 Mod_rewrite不起作用,因为只有当用户试图访问代理服务器时才会触发。 我想redirect尝试访问外部网站的用户。 目前的configuration很简单: /var/httpd/conf.d/proxy.conf: <VirtualHost *:*> ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from 172.0.0.0/21 </Proxy> </VirtualHost> 我想阻止所有请求,然后设置一个自定义的错误页面,但找不到任何这个工作的例子。
我想在我创build的3台Apache服务器上设置负载均衡。 我用于服务器的3个地址是192.168.151.101 , .102和.102 然后我创build了一个负载均衡服务器,并给了这个地址192.168.151.105 在负载均衡服务器中,我创build了以下文件并给出了以下configuration $ vi /etc/apache2/conf.d/proxy-balancer <Proxy balancer://mycluster> BalancerMember http://192.168.151.101 BalancerMember http://192.168.151.102 BalancerMember http://192.168.151.103 </Proxy> ProxyPass / balancer://mycluster 然后我需要configuration我们的代理,以允许从所有主机访问: $ vi /etc/apache2/mods-enabled/proxy.conf 然后我在网上阅读,你需要 “把这个文件中的”Deny from all“改为”Allow from all“,然后重新启动Apache:” 但是,我没有一个Deny all行开始,所以我不确定我应该实际上改变,以允许从所有主机访问。 那么有人知道我是否应该改变这个configuration文件,或者有没有人有另一种方法来做负载平衡? 注意:我启用了所有的代理模块
我正在使用CNTLM在我的Linux系统上设置代理服务器。 我编辑了cntlm.conf文件并进行了以下更改 – # # Cntlm Authentication Proxy Configuration # # NOTE: all values are parsed literally, do NOT escape spaces, # do not quote. Use 0600 perms if you use plaintext password. # Username myusername Password mypasswordinplaintext # NOTE: Use plaintext password only at your own risk # Use hashes instead. You can use […]
我的公司有一个传统的应用程序需要连接到互联网。 不幸的是,我们的networking工作人员已经改变了代理设置,以便只接受摘要authentication,这个应用程序不支持。 有什么办法来设置这些身份validation方法之间的中间层? Legacy —> (interface, maybe another proxy) —> Digest Auth Proxy (squid). 应用程序和代理(鱿鱼)在Linux上运行。
希望你有美好的一天! 所以我运行一个nginx代理服务器作为后端的Apache服务器。 nginxconfiguration如下: server { listen 80; server_name localhost; location / { proxy_pass http://ip_address_1:85; proxy_redirect default; proxy_set_header Host $host:80; 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; } } 这只是将所有请求redirect到我的nginx代理到我的apache后端。 现在我想代表所有传入的请求文件夹名称“数据”到另一个不同的IP地址的Apache服务器。 我将如何configurationnginx将所有请求redirect到http://domain.com/data/到第二个Apache服务器。 而不是“数据”目录的任何其他请求会转到第一个Apache服务器IP,如上面的configuration中所示。 谢谢大家!
我已经在Ubuntu上部署了一个开源的公共Web服务(elasticsearch)。 问题是 – 没有安全(只有当你付钱)。 我已经研究了一些阻塞端口的内部请求,同时只允许通过身份validation代理进行外部访问。 最简单的方法是带有基本authentication的nginx。 但在这些情况下最好的做法是什么? 我的其他select是什么?