2017-02-04 52 views
1

我使用的是由Docker映像(https://hub.docker.com/r/hachque/phabricator/)构建的phabricator。 因为我的phabricator服务器位于公司的局域网中,所以我无法从外部访问它。我正在尝试使用Ngnix作为反向代理。我可以访问登录页面,但是当我尝试登录,被显示以下信息:如何将Ngnix配置为Phabricator的反向代理(未处理异常(“AphrontMalformedRequestException”))

未处理的异常(“AphrontMalformedRequestException”)你 试图保存一些数据Phabricator,但请求您的浏览器 做包含错误的标记。重新加载页面并重试。您可能需要清除您的Cookie,您需要 。这是一个Web请求。此请求 有一个无效的CSRF令牌。

这里是我的Nginx的反向代理配置的一部分:

# phabricator proxy. 
# 
server { 
    listen  8080; 
    server_name 0.0.0.0; 

    location/{ 
    proxy_pass http://193.177.1.238/; 
    proxy_redirect  off; 
    proxy_set_header Host    $host; 
    proxy_set_header X-Real-IP  $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

回答

1
我没有使用相同的图像,你

,但我已经安装了PHP 7.1 Nginx的接合,该Phabricator来源是什么Docker镜像,然后Docker的Nginx会听到9000端口(在我的情况下)。

然后我运行使用8081:9000端口映射这个形象,并在Nginx的从主机机下面的虚拟主机配置:

upstream api_upstream { 
    server 0.0.0.0:8080; 
} 

server { 
    listen 80; 
    server_name phabricator.local.com; 

    location/{ 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_cache_bypass $http_upgrade; 
     proxy_pass http://api_upstream; 
    } 
} 

的phabricator.local.com主机只能如果添加此进入/ etc/hosts文件:

127.0.0.1 phabricator.local.com