标签: socket

Web 服务器是否应该关心 IPv6 兼容性?

现实世界中是否有任何 IPv6 客户端?如果没有,是否还有其他理由支持 IPv6?

(我的理解是,随着 WAN 的出现,这种 IPv6 不是必需的,因此如果有任何适应的话,这种情况非常低。这是正确的,还是在未来几年我们会看到 IPv6 的使用增加?)

http ip ipv6 web-server socket

7
推荐指数
1
解决办法
421
查看次数

连接到上游时资源暂时不可用 (php5-fpm)

当大约 +10K 连接(netstat -an |grep 80 |wc -l)时,我经常在随机页面上收到此错误。当仍有 +10GB 的可用内存且服务器负载小于 3 时,就会发生这种情况。

我的相关配置:

/etc/php5/fpm/php.ini

memory_limit = 1024M
default_socket_timeout = 120
Run Code Online (Sandbox Code Playgroud)

/etc/php5/fpm/pool.d/www.conf

pm = dynamic 
pm.max_children = 30 
pm.start_servers = 5
pm.min_spare_servers = 2 
pm.max_spare_servers = 5 
;pm.max_requests =20000 #uncommented with any value didn't fixed
request_terminate_timeout = 120s
Run Code Online (Sandbox Code Playgroud)

我还将上述 vlues(即 60 个孩子,10 个开始,10 个最大服务器)加倍,但无济于事。

/etc/nginx/nginx.conf

worker_connections 4024;
keepalive_timeout 10;
Run Code Online (Sandbox Code Playgroud)

Nginx 本身在 Varnish 和 memcached 后面是启用的。页面渲染通常非常快。

这似乎是一个很常见的问题,我找不到任何有用的解决方案,甚至无法分析可能的原因。因此,非常感谢您的提示/解决方案。

nginx php-fpm socket 502-error

7
推荐指数
1
解决办法
2万
查看次数

TCP:太多孤立的套接字是什么意思?

当我使用 dmesg 查看 linux 内核消息时,我看到大量....

TCP:太多孤立的套接字

消息。我的猜测是,这是在关闭后在 TIME_WAIT 中等待清除的套接字。我很想知道这是否会影响在这些服务器上运行的服务。

tcp socket

7
推荐指数
1
解决办法
3万
查看次数

独立星号上的 WebRTC - 没有音频

在为 WebRTC 使用 Asterisk 挣扎了几个星期之后,我决定把我的问题放在这个论坛上。我的问题如下:

我没有从 WebRTC 到 WebRTC 客户端获取音频。我在局域网环境中工作。

情况 - 使用独立的 Asterisk 服务器从 JSSIP 调用到 JSSIP(相同的客户端)。

问题

从 6001(JSSIP) 拨打 6002(JSSIP) 时根本没有音频。一段时间后,一些 RTP 数据包正在发送,但未收到。在 RTP 数据包出现在日志文件中大约 40 秒后,呼叫被终止,没有任何人为操作。

两个客户端都在同一台计算机上,都在谷歌浏览器上,其中一个在隐身模式下运行。我们还用 2 台不同的笔记本电脑进行了测试,但这给出了相同的结果。

有人知道是什么导致了这个问题吗?我也关注了这个帖子:http : //forums.digium.com/viewtopic.php?f=1&t=90167,但这对我不起作用。您可以在下面找到日志文件和更多信息。

由于关于同一问题的多个帖子,我试图解决这个问题。

  • 在代理后面运行 Asterisk (oversip)
  • 使用 webrtc2sip,打开和关闭媒体编码
  • 使用带有 RTCwebbreaker 的 SipML5,禁用视频
  • 设置星号公共(使用广域网地址和端口转发到服务器
  • 在 CentOS 上运行 Asterisk
  • 二手火狐

星号服务器:

  • 操作系统:Ubuntu 14.04
  • 版本:Asterisk 13.2 和 FreePBX 12
  • IP 地址:192.168.178.203
  • 网络套接字端口:8088
  • SIP 端口:5060

客户:

  • 操作系统:Windows 8.1
  • 浏览器:Chrome 版本 40.0.2214.115 m
  • IP地址:192.168.178.18

配置:

配置文件

[general]
rtpstart=10000
rtpend=20000 …
Run Code Online (Sandbox Code Playgroud)

web asterisk audio sip socket

7
推荐指数
1
解决办法
4821
查看次数

连接 Milter 服务 unix:/var/run/opendkim/opendkim.sock: No such file or directory

我刚刚将 postfix 邮件服务器移到了另一个盒子,但我在让 postfix 通过 unix 套接字与 opendkim 交谈时遇到了麻烦。opendkim 套接字位于/var/run/opendkim/opendkim.sock

srwxrwxr-x 1 opendkim opendkim 0 Aug 14 15:11 /var/run/opendkim/opendkim.sock=
Run Code Online (Sandbox Code Playgroud)

....但后缀看不到它。这是来自/var/log/mail.log

Aug 14 15:13:04 new postfix/smtpd[23954]: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/postfix/main.cf

smtpd_milters = inet:127.0.0.1:11444 unix:/var/run/opendkim/opendkim.sock
Run Code Online (Sandbox Code Playgroud)

有没有人对导致问题的原因有任何想法?我已经用谷歌搜索了一下,但找不到任何有效的解决方案。

更新:我正在使用 Postfix 3.1.0-3。这是我的uname -a

Linux starbeamrainbowlabs.com 3.14.32-xxxx-grs-ipv6-64 #7 SMP Wed Jan 27 18:05:09 CET 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

email-server postfix socket opendkim

7
推荐指数
1
解决办法
1万
查看次数

从 Docker 容器内部向主机系统公开 Unix 套接字

我想在侦听 Unix 套接字而不是端口的 Docker 容器中运行一个 web 服务器。我在共享 Docker 套接字方面发现了很多结果,但我认为这不是我想要的。

我希望主机系统能够连接到容器内正在侦听的 Unix 套接字。

我正在使用 docker-compose,所以通常的使用方式-v不起作用。

我的 ngix 站点配置:

server {                                                                                             
   listen 80; listen [::]:80;                                                            
    server_name foo.com www.foo.com;

    location / {                                                                         
        proxy_pass http://unix:/var/lib/docker/volumes/app_shared/_data/app.https.sock:;       
        proxy_set_header Host $http_host;                                                            
        proxy_http_version 1.1;                                                                      
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                 
        proxy_set_header X-Forwarded-Proto https;                                                    
    } 
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3'
services:      
  web:
    build: .
    volumes:
            - shared:/var/app
    command: "npm start"
volumes:
   shared:
Run Code Online (Sandbox Code Playgroud)

然而它说我无法连接到套接字,即使它存在于主机的这个位置。

socket docker-compose

7
推荐指数
1
解决办法
1万
查看次数

在 Unix 系统上,绑定到端口 < 1024 只授权给 root 用户还有理由吗?

在 Unix 系统上,拒绝从没有 root 特权的进程绑定到 tcp 端口 < 1024。

最初的原因是什么,它仍然有效吗?

例如 http 服务器不需要 root 特权来提供 html 页面。

Unix 用户需要什么进程/协议才能确保它以 root 特权运行?

谢谢

security unix ip socket

6
推荐指数
2
解决办法
2185
查看次数

Apache2 没有侦听套接字,尝试配置虚拟主机时无法打开日志

我正在尝试在 Apache2 中使用虚拟主机设置多个域。当我尝试浏览我的网站时,我目前收到“无法连接”错误,每当我尝试重新启动 Apache2 时,我都会收到关于“没有可用的侦听套接字,关闭无法打开日志”的错误。

最初,在配置 apache2.conf 和我的 /apache2/sites-enabled/domain1.com 后,我收到了 500 服务器错误和来自 apache2 的警告,即“NameVirtualHost *:80 has no VirtualHosts”。然后我在ports.conf文件中注释掉了一个额外的(我认为)NameVirtualHost *:80,现在无法连接和没有套接字错误。

这是我的 apache2.conf 底部的内容:

 NameVirtualHost *:80
#<VirtualHost *:80>                                                            

<IfModule mod_ssl.c>
    NameVirtualHost *:443
</IfModule>
Run Code Online (Sandbox Code Playgroud)

而我的/apache2/sites-enabled/domain1.com:

          # domain: domain1.com
          # public: /home/demo/public_html/domain1.com/

<VirtualHost *:80>

 # Admin email, Server Name (domain name) and any aliases
 ServerAdmin admin@domain1.com
 ServerName  domain1.com
 ServerAlias domain1.com


 # Index file and Document Root (where the public files are located)
 DirectoryIndex index.html
 DocumentRoot /home/demo/public_html/domain1.com/public


 # Custom log file locations
 LogLevel warn
 ErrorLog …
Run Code Online (Sandbox Code Playgroud)

socket namevirtualhost apache-2.2

6
推荐指数
1
解决办法
2万
查看次数

为什么客户端会发送 RST 数据包作为对 SYN,ACK 的回复?

我有一个 HTTP 网络服务,有时连接设置会以一种奇怪的方式失败:

  • 客户端发送 SYN 数据包
  • 服务器发送 SYN,ACK 回复
  • 客户端用 RST 响应

在哪些情况下客户端系统可以决定用 RST 数据包进行回复?我可以想象当 SYN,ACK 包含例如时会发生这种情况。不正确的序列号(但这似乎不适用于我的情况 - 序列号看起来不错)。所以我对详尽的 :-) 列表感兴趣,其中列出了客户端在收到 SYN,ACK 数据包后会发送 RST 数据包的情况。

特别是,客户端应用程序代码(在 Linux 下使用普通的 BSD 风格的套接字 API)是否有可能导致这个 RST 数据包,例如。通过close()在 3 次握手仍在进行时调用?

networking connection tcp socket

6
推荐指数
1
解决办法
5万
查看次数

MySQL守护进程锁问题

昨晚,我的 MySQL 服务器意外宕机。在尝试重新启动(使用service mysql restart- 我是 root)时,它只是挂起。通过mysql -u root -p命令,我得到ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2). 然后我尝试手动启动守护程序 ( mysqld)。提示将挂起约 2 秒钟,然后返回。在仔细检查错误日志后,我得到:

2016-01-22T19:18:32.399584Z 0 [ERROR] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.

2016-01-22T19:18:32.399622Z 0 [ERROR] Unable to setup unix socket lock file.

2016-01-22T19:18:32.399646Z 0 [ERROR] Aborting

然后,我尝试chown mysql /var/run/mysqldchmod -R 775 /var/run/mysqldtouch /var/run/mysqld/mysqld.sock.lockapt-get install mysql-community-server --reinstall。没运气。

我环顾四周,找不到解决方案。这里有什么帮助吗?

注意:我正在使用 MySQL …

mysql debian socket

6
推荐指数
2
解决办法
1万
查看次数