小编tom*_*per的帖子

远程访问docker容器中的webserver

我已经开始使用docker for dev,具有以下设置:

  • 主机 - ubuntu服务器.
  • Docker容器 - 带有tomcat服务器的webapp(使用https).

就主机容器访问而言 - 一切正常. 但是,我无法从远程计算机(尽管仍在同一网络中)访问容器的webapp.

跑步时

docker port <container-id> 443
Run Code Online (Sandbox Code Playgroud)

输出是预期的,所以docker的端口绑定似乎很好.

172.16.*.*:<random-port>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢!

ubuntu-server docker

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

对 firebase-storage 可下载 url 执行身份验证

Firebase 文档建议在任何存储引用上通过,获取可下载的 url(例如,用于 html<video>标记中的流式视频)getDownloadURL()。因此,您可以通过 SDK 设置将应用于客户端请求的安全规则。

但是,接收到的可下载 URL 似乎对任何客户端/设备都是公开可用的,无需身份验证。

有没有办法对这种用例强制执行安全授权?我注意到您可以在控制台中手动撤销公共 URL,但这不是可扩展的解决方案,也不安全。

firebase firebase-storage

8
推荐指数
1
解决办法
1436
查看次数

sftp 因“消息太长”错误而失败

我的 java 程序使用 ssh/sftp 将文件传输到 linux 机器(显然......),而我这样做的库是 JSch(尽管这不是罪魁祸首)。

现在,其中一些 linux 机器具有 shell 登录启动脚本,这可悲地导致 ssh/sftp 连接失败,并显示以下消息

收到的消息太长 1349281116

在简要阅读之后,这显然是一个已知的 ssh 设计问题(不是错误 -请参阅此处)。并且所有建议的解决方案都在 ssh 服务器端(即禁用在 shell 登录期间输出消息的脚本)。

我的问题 - 是否可以选择在客户端避免此问题?

ssh sftp jsch ssh2-sftp

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

WebDriver findElements在检索时保留表行顺序

检索html表WebElement列表时,例如以下内容(例如,通过标记):

webDriver.findElement(By.id("mainTable"))
         .findElements(By.tag("tr"))
Run Code Online (Sandbox Code Playgroud)

退货清单是否有保证订单?我可以安全地假设元素[i]在表行顺序中位于元素[i + 1]之前吗?

我查看了官方文档,并用Google搜索,但没有运气.

java selenium selenium-webdriver

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

Spring和JUnit | 如何禁用特定测试类的弹簧测试上下文缓存?

我的代码有许多集成测试类- ServiceTest1ServiceTest2...,ServiceTestN。所有测试均使用相同的测试上下文(MyAppContext.xml)在spring上执行。

正如在下面的代码段中所示,ServiceTest1测试上下文需要其豆中的一个被覆盖,而这种改变是相关ONLYServiceTest1

执行后,ServiceTest1将按预期工作。但是,当执行其他测试时(例如ServiceTest2,在代码段中),它会因Spring初始化错误而失败,因为spring正在缓存MyAppContext.xml测试上下文,并且 ServiceTest1测试上下文操作与其他测试冲突。

我正在寻找一种避免缓存ServiceTest1测试上下文的方法(例如,基于@ContextConfiguration使其缓存键唯一)。请注意,完全禁用缓存不是想要的解决方案。

有任何想法吗?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class ServiceTest1 {

    // some tests ...

    @Configuration
    @ImportResource({"classpath*:MyAppContext.xml"})
    static class Context {

        @Bean
        @Primary
        ServiceOne serviceOne() {
            // instantiate something ...
        }
    }
}


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:MyAppContext.xml"})
public class ServiceTest2 {

    // some tests ...

}
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:
Spring初始化错误是:

java.lang.IllegalStateException:无法加载ApplicationContext

...

由以下原因引起:org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法从URL位置导入bean定义[类路径:/ WEB-INF / applicationContext-security] …

java spring caching

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