java – 如何在Spring-boot应用程序中为Apache Tomcat中的Acces
我们有一个独立的spring-boot应用程序,我们希望在其中设置访问日志模式 > X-forwarded-for标头存在于请求中:它应作为第一个字段包含在日志中 当我们使用以下设置运行我们的应用程序时,我们只获取远程IP地址
例如:
我们还尝试将属性server.tomcat.accesslog.pattern设置为
然后我们得到远程IP地址和X-forwarded-for标头值. 例如:
但是,基于链接https://tomcat.apache.org/tomcat-7.0-doc/config/valve.html,当x-forwarded-for不存在时,tomcat支持包含远程ip地址的此要求.这可以通过添加属性’requestAttributesEnabled’来实现 我们尝试添加该属性 它似乎没有实现,因为它不存在于此:http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 我们使用EmbeddedServletContainerCustomizer的实现实现了一个变通方法,如How do I configure the location and name of tomcat access log in spring-boot?所述,
它按预期工作. 但是我们希望能够通过spring-boot将requestAttributesEnabled设置为配置属性,如:
而不是需要在我们的所有服务中使用此定制器. 有没有更好的解决方案来解决这个问题,是否有其他属性可以使用,或者它是否可以在不久的将来交付? 最佳答案
你是对的,这个属性没有直接暴露,你所做的是推荐的方法.话虽如此,我已经创建了#7367来讨论我们是否应该将其添加为内置属性.请关注该问题以获得进一步的更新.谢谢!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |