尝试在Windows上使用Apache 2.4.x设置负载平衡器。 错误:没有协议处理程序是有效的URL /path/。 如果您正在使用mod_proxy的DSO版本,请确保代理子模块包含在使用LoadModule的configuration中。 通过在docker服务器上部署的websocket代码访问webswing。 相同的configuration在Linux上工作。 configuration文件: ProxyPass /path balancer://cluster/path/ timeout=600 ProxyPassReverse /path balancer://cluster/path/ timeout=600 ProxyRequests Off ProxyTimeout 600 <Proxy "balancer://cluster"> Require valid-user AuthName "ClosedProxy" AuthType Basic Order deny,allow Allow from all Satisfy Any BalancerMember ws://server1 route=1 timeout=600 BalancerMember ws://server2 route=3 timeout=600 ProxySet stickysession=ROUTEID lbmethod=byrequests </Proxy>
我有一个简单的node.js websocket服务器: var io = require('socket.io')(12345); io.on('connection', function(socket){ console.log('a user connected'); socket.on('disconnect', function(){ console.log('user disconnected'); }); socket.on('test', function(msg){ console.log('test msg: ' + msg); io.emit('test', 'Test answer'); }); }); 我连接到它,它与iocat正确响应: me@whatever:~/prj/client$ iocat –socketio ws://localhost:12345 -e test > adsa > [ 'Test answer' ] 所以现在我想configurationApache服务器的sslredirect到我的项目的某个子url到这个websocket 我有一个Apacheconfiguration为在https:// localhost / prj服务我的项目 我想在https:// localhost / prj / socket中使用websocket 所以searchnetworking,所以我find了两种可能的方式来做到这一点: 1 […]
我的设置包含在http:// localhost:9222上运行的无头Chrome实例。 如果我通过WebSocket客户端直接连接它,它将起作用。 我想把一个Nginx服务器块作为代理放在它的前面(稍后我会添加authentication等)。 我的configuration是: server { # Logic configuration server_name chrome.example.eu; access_log /opt/chrome/access.log; error_log /opt/chrome/error.log; location / { proxy_pass http://127.0.0.1:9222; proxy_http_version 1.1; proxy_set_header Host $host; location /devtools/page/ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; } } # Networking listen 80; } HTTP部分工作正常。 Chrome开发工具的用户界面显示,如果我打开http://chrome.mydomain.eu 。 但是,websocket连接无法build立。 浏览器尝试连接到ws://chrome.example.eu/devtools/page/6877e641-fc1e-4196-bb55-0c3e1608af4a但服务器不会升级到WebSocket连接。 Nginx发回一个404响应,并且error.log包含一个我无法理解的行: * 690 open()“/ usr / […]
upstream backend { server 127.0.0.1:8080; } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; include snippets/self-signed.conf; include snippets/ssl-params.conf; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { proxy_pass http://backend; […]
我有一个服务于PHP网站的networking服务器。 这个服务器有一个socket.io服务器。 Apacheconfiguration为代理通过socket.io请求到端口8000上运行的节点服务器。一切工作正常。 但在过去几天,服务器负载超过100,但CPU,内存和磁盘利用率非常低。 当有良好的stream量时,apache进程数量不断增加,负载也随之增加。 我怀疑,Apache处理不断等待的东西。 stace输出有这样的: read(22, 0x7f024a144048, 8000) = -1 EAGAIN (Resource temporarily unavailable) lsof -p xxxx | grep 22的输出显示了这个: apache2 20687 www-data 22u IPv4 2406045 0t0 TCP PROD2:59319->PROD2:http-alt (ESTABLISHED) Apacheconfiguration: <VirtualHost *:443> ServerAdmin xxxx ServerName xxxx ServerAlias xxxx DocumentRoot /var/www/html SSLEngine on SSLProxyEngine On SSLCertificateFile /etc/xxxx/a32d505bae7b7403.crt SSLCertificateKeyFile /etc/xxxx/xxxx.key SSLCertificateChainFile /etc/xxxx/gd_bundle-g2-g1.crt ErrorLog ${APACHE_LOG_DIR}/error.log […]
我使用Oracle官方示例KnockKnockSocket构buildJava套接字。 它接受inputstring作为端口号,并自动启动新线程: KKMultiServerThread KKMultiServer 这很简单。 然而: 我们无法控制如何停止这个java进程并释放这个端口。 从字面上我们可以使用CTRL + C来停止它,但有时候也不能杀死java项目(java可能仍然在后面运行)。 有更好的方法来控制它吗? (任何方法,或API将是伟大的) 我们无法获得套接字服务器的当前状态 – 它仍然活着或停止工作。 有没有简单的方法来监视Java套接字? 我们不能限制线程的数量。 在这个例子中,它使用一个while循环来初始化新线程。 如果同时打开太多的线程,它可能会给套接字服务器造成负担。 如何优雅和专业地限制线程? 谢谢!
我得到了太多[error] 17667#0: *344 connect() failed (111: Connection refused) while connecting to upstream, client:错误。 我很久没有find解决办法了。 这些是我的nginx设置。 服务器是在监听tcp 80端口的elb负载均衡器后面。 谢谢。 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { use epoll; worker_connections 10240; multi_accept on; } worker_rlimit_nofile 65535; http { port_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent […]
我安装nginx为了成为一个懒惰的人,只是去proxmox.domain.com而不是proxmox.domain.com:8006,但现在我不能访问连接到第一个地址的VNC客户端,虽然我可以做ip +端口。 我的一个朋友指出,我必须转发networking套接字,所以我打了一下键盘并search了一下,发现了这个 。 我尝试了所有的东西,而且没有工作。 我已经重新启动nginx,它说configuration文件工作。 location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass https://localhost:8006; } location /websockify { proxy_http_version 1.1; proxy_pass http://127.0.0.1:6080; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # VNC connection timeout proxy_read_timeout 3600s; #disable cache proxy_buffering off; } location /vncws/ { proxy_pass http://127.0.0.1:6080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; […]
我必须在一个项目上工作,因为我的信息很less,而且我遇到了ws_tunnel问题。 这个架构或多或less是一个(不是那么容易绘制): browser https <-> apache2.4 <-> nodejs HMI <-> ws_tunnel <-> Zabbix 3.4 当我访问nodejs HMI(通过端口9593),我得到一个503 HTTP错误。 我已经启用proxy , proxy_http , proxy_wstunnel , ssl 。 nodejs HMI的apacheconfiguration是这样的: <VirtualHost _default_:9593> DocumentRoot /var/www/myFolder/IHM/dist/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/myHostname.org.crt SSLCertificateKeyFile /etc/ssl/certs/myHostname.org.key ProxyPass /wss2 ws://127.0.0.1:9590 ProxyPassReverse /wss2 ws://127.0.0.1:9590 </VirtualHost> 我得到以下错误: [proxy:error] [pid 13030] (111)Connection refused: […]
我正在尝试在Linode服务器上configurationnodejs,socket.io和nginx。 为此,我创build了虚拟主机。 在nginx.conf # Add to nginx.conf http section map $http_upgrade $connection_upgrade { default upgrade; '' close; } 在socket.example.com upstream some_upsteram_com { server 127.0.0.1:8888; keepalive 15; } server { listen 80; root /var/www/node-socket-app; index index.html index.htm; access_log /home/user/logs/socket-access.log; error_log /home/user/logs/socket-error.log; server_name socket.example.com; large_client_header_buffers 8 32k; location / { try_files $uri @nodejs; } # Important! Serve […]