Apatche HTTP服务器 - 如何设置WildFly的代理

时间:2016-04-14 10:19:13

标签: apache wildfly

最近,我获得了一个在Apache HTTP服务器和WildFly上运行的项目。我对这些技术不熟悉。我在Apache端有代理配置问题。这是Apache的httpd.conf VirtualHosts配置。

#frontend
<VirtualHost *:80>
    <Location />
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Location>

    ServerName adminapp.pl
    DocumentRoot "D:\Projects\RS_front\adminapp"
    ErrorLog "d:\logs\httpd\admin_error.log"
    RewriteEngine   On
    RewriteCond     %{REQUEST_URI} !^(/index\.html|/img|/js|/css|/assets|/robots\.txt|/favicon\.ico)
    RewriteCond     %{REQUEST_FILENAME} !-f
    RewriteCond     %{REQUEST_FILENAME} !-d
    RewriteRule     . /index.html [L]
</VirtualHost>

#backend proxy
<VirtualHost *:80>
    <Location />
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Location>

    ServerName api.adminapp.pl
    ErrorLog "d:\logs\httpd\wildflyProxy.log" 
    CustomLog "d:\logs\httpd\wildflyProxy_custom.log" combined
    ForensicLog "d:\logs\httpd\wildflyProxy_forensic.log"
    DumpIOInput On
    DumpIOOutput On
    LogLevel Debug
    ProxyRequests Off
    ProxyPreserveHost On
    #adres aplikacji and serwerze Wildfly
    ProxyPass "/" "http://localhost:8080/adminapp/" timeout=600
    ProxyPassReverse "/" "http://localhost:8080/adminapp/" timeout=600
    ProxyPassReverseCookiePath "/adminapp" "/"

    Header add Access-Control-Allow-Origin: adminapp.pl
    Header add Access-Control-Allow-Headers "X-Requested-With,Content-Type,Authorization,Accept,Content-Disposition"
    Header add Access-Control-Allow-Methods "GET,PUT,POST,DELETE,PATCH,OPTIONS"
</VirtualHost>

我尝试通过adminapp登录系统,但它不起作用。我觉得完全迷失了,因为我无法跟踪任何错误或日志,告诉我这个配置有什么问题。

这是我到目前为止跟踪的内容(地址adminapp.pl&amp; api.adminapp.pl映射到我的hosts文件中的localhost):

  • 登录尝试时应调用的网址如下http://localhost:8080/adminapp/oauth/token。当我在浏览器中输入此URL时,我从WildFly服务器得到了响应,我提供了错误的登录凭据和WildFly服务器日志异常。

  • 当我在浏览器中输入网址http://api.adminapp.pl/oauth/token时,我会从服务器获得相同的响应。所以似乎代理工作。

  • 当我尝试通过adminapp.pl登录时,提供错误的凭据以实现相同的错误,没有任何反应。我在Apache访问日志中只得到这一行&#34; POST /api.adminapp.pl/oauth/token HTTP / 1.1&#34; 200 906&#34;。

  • 当我配置front - adminapp.pl直接连接到http://localhost:8080/adminapp(NO PROXY)时,WildFly服务器记录错误凭据错误。但是前面还有其他问题&#34; XMLHttpRequest无法加载http://localhost:8080/adminapp/oauth/token。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; http://localhost&#39;因此不允许访问。&#34;。我想这是由于CORS引起的,所以我的配置需要代理。

从我的配置中可以看出,我尝试生成尽可能多的日志,但我无法找到更多有用的信息。似乎Apache在内存中缓冲日志并按时间间隔将它们转储到文件中?有没有办法告诉Apache在收到信息后立即记录信息?

总结我需要设置此代理,并且不知道如何进一步解决我的问题。你能告诉我我能做些什么吗?

此致

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。事实证明,我的应用正在尝试向http://adminapp.pl/api.adminapp.pl/oauth/token而不是http://api.adminapp.pl/oauth/token发送请求。前端应用程序处理属性url api.adminapp.pl相对而且我不得不将其更改为http://api.adminapp.pl。带有Firebug插件的Firefox派上用场,向我展示了完整的POST网址。