Tag: docker csrf

在Zend Expressive项目的树中找不到关键的“csrf”

我有一个运行Docker的Zend Expressive应用程序。 通常这个项目运行,但是当我把它添加到一个bitbucket存储库,然后git克隆它,用docker构build,然后去localhost:8000它给了我这个错误: [![在这里input图片描述] [1]] [1] 奇怪的部分是,我有一个确切的复制本地工作,但如果其上传到一个存储库,然后git克隆,并尝试运行它给出了这个错误。 我不确定是什么原因造成的,网上也没有关于这个错误的信息。 我要显示一些configuration文件,因为我甚至不知道我应该显示什么: 泊坞窗: version: '3' services: php: build: ./docker/php depends_on: – postgres – redis volumes: – .:/var/www/html nginx: image: nginx:1.11 depends_on: – php ports: – '8000:80' volumes: – ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf – .:/var/www/html postgres: image: postgres:9.6 ports: – '5438:5432' volumes: – 'postgres-data:/var/lib/postgresql/data' redis: image: redis:3.2 build: build: ./docker/build volumes: – […]

Docker中的端口转发的Rails应用似乎会导致CSRFexception

我有一个在Docker容器中运行的Rails应用程序,它被分配了一个IP 172.17.0.3 。 对主机51.xxx传入请求被转发到172.17.0.3的rails应用程序。 更具体地说,这是这样做的: docker run -p 8080:8080 rails_app 但是,Rails应用程序抛出当用户尝试访问某些页面时Can't verify CSRF token authenticity错误。 我怀疑Rails认为传入的请求是攻击,因为目标的ip不匹配Rails应用程序的ip – 即用户请求被引导到主机51.xxx ,而Rails的实际位置是172.17.0.3 有什么办法让我告诉Rails这些请求是合法的吗? 作为附加信息,我使用devise进行身份validation,并使用unicorn作为服务器。 你们中的一些人可能会试图build议将protect_from_forgery with: :exception更改protect_from_forgery with: :exception :null_session ,但是如果没有放在代理之后,应用程序就可以正常工作。 另外,当我改变那个部分的时候,一些逻辑将不起作用,因为我认为这个设置是以处理用户会话的方式出现的。 这是我的networking的布局: (user from public network) —-> (proxy) —-> (rails app on a private network) (202.xxx) (51.xxx) (172.xxx) 编辑:该应用程序在development设置。 这是我在log/development.log文件中得到的错误。 Started POST "/register" for 202.xxx at 2014-11-18 […]