我正在尝试配置 Redis(redis.conf,bind 参数)以仅接受来自特定 ip 的访问。在我的例子中,我想启用对环回网络接口(interface)( 127.0.0.1/::1 )和 ip 192.168.56.101 的访问(192.168.56.102 是 Redis 服务器的 ip)。根据我目前已阅读的所有文档,以下配置应该有效...
bind 127.0.0.1 ::1 192.168.56.101
...但事实并非如此。
我已经尝试了其他几种配置...
bind 127.0.0.1 192.168.56.101 ::1
bind 127.0.0.1 192.168.56.101
bind 192.168.56.101
bind 192.168.56.0
bind 192.168.0.0
... 没有任何作用。 =|
唯一有效的配置是...
bind 0.0.0.0
但是,这个配置打开了对任何 ip 的访问!
注意: protected-mode参数 ( redis.conf ) 有一个 no值(value)。
知道会发生什么吗?
引用:
Redis bind to more than one IP
进一步的问题:
如何启用对 IP 范围的访问(bind 参数)?像...
bind 192.168.56.0
……或者……
bind 192.168.56.0/24
在这些示例中,任何 IP 以“192.168.56”开头的机器都可以访问 Redis 服务器。
@卡尔达科斯塔 @杰基
谢谢!
最佳答案
我认为您误解了bind 配置和IP-whitelist。
bind 配置指定 Redis 监听的 IP 地址。如果将 Redis 绑定(bind)到环回接口(interface),则只有本地客户端可以访问 Redis。如果你想让其他主机访问Redis,你必须将Redis绑定(bind)到所有网络接口(interface)(即0.0.0.0),或者一些指定的网络接口(interface)。
你需要的是IP-whitelist,它列出了可以访问Redis的IP地址。据我所知,到目前为止,Redis 不支持它(如果我错了请纠正我)。
还有其他解决方案来限制对 Redis 的访问(所有这些解决方案都需要 Redis NOT 绑定(bind)到环回接口(interface))。
Limit access by authentication
您可以使用requirepass 配置为Redis 设置密码。只有知道密码的客户端才能访问 Redis。
Limit access by OS utility
在 Linux 上,您可以使用 iptables 来控制网络访问。使用此实用程序,您只能允许指定主机访问 Redis 绑定(bind)到的端口。
关于Redis - 绑定(bind)接口(interface)不起作用(连接被拒绝)!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46084611/
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
大家好,我正在尝试设置一个开发环境,并且我一直在关注以下教程:Linktotutorial我做得不是很好,除了最基本的版本控制内容外,我对终端命令没有任何实际经验。我点击了第一个链接并尝试运行source~/.bash_profile我得到了错误;mkdir:/usr/local/rbenv/shims:权限被拒绝mkdir:/usr/local/rbenv/versions:权限被拒绝现在每次我加载终端时都会出现错误。bash_profile的内容;exportPATH=/usr/local/rbenv/bin:$PATHexportRBENV_ROOT=/usr/local/rbe
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我目前正在尝试学习RubyonRails和测试框架RSpec。assigns在此RSpec测试中做什么?describe"GETindex"doit"assignsallmymodelas@mymodel"domymodel=Factory(:mymodel)get:indexassigns(:mymodels).shouldeq([mymodel])endend 最佳答案 assigns只是检查您在Controller中设置的实例变量的值。这里检查@mymodels。 关于ruby-o
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://