我有一个安装了鱿鱼的公共子网。
假设我的子网是从 1.2.3.2 到 1.2.4.254。
当我设置以下内容时:
http_port 50000
http_port 1.2.3.2:50000
Run Code Online (Sandbox Code Playgroud)
这是工作。
但是当我设置时:
http_port 1.2.4.37:50000
Run Code Online (Sandbox Code Playgroud)
它不工作。
它仅适用于我的子网中的第一个公共 IP。
当它不工作时我得到的错误如下:
commBind: Cannot bind socket FD 10 to 1.2.4.37:50000: (99) Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)
我的配置有什么问题吗?
@Zoredache
我有一个专用服务器,整个子网被定义为IP范围。当我仅使用端口或第一个 IP 并执行操作时
netstat -ntlp | grep 46555
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 25532/(squid )
Run Code Online (Sandbox Code Playgroud)
当我使用我的特定 IP 时,netstat 查询将不会显示任何内容,因为服务器未启动。我不希望鱿鱼监听所有或第一个IP,它只是它应该监听的特定IP。
的输出是什么netstat -ntlp | grep 50000?
默认情况下,该http_port 50000选项将导致鱿鱼绑定到0.0.0.0:50000 这意味着它将接受系统上任何地址的请求。
您不需要列出1.2.3.2, 或1.2.4.37。只需确保这些地址已分配给主机即可。
如果您的主机没有在1.2.4.37本地分配地址,那么我认为您正在尝试进行拦截缓存或其他操作。您可能需要使用防火墙规则拦截该地址。在 Linux 系统上,您可以使用 REDIR 来完成此操作。
ip addr - 我得到:inet 1.2.3.2/22 brd 1.2.5.255 范围全局 eth0。
如果主机尚未配置为具有1.2.4.37IP 地址,则它不具有 IP 地址。您必须在网络设置中配置它。Squid 无法绑定到主机上尚未配置的 IP。
| 归档时间: |
|
| 查看次数: |
12053 次 |
| 最近记录: |