4.4.1. Apache HTTP Server¶
4.4.1.1. 使用mod_proxy/mod_rewrite¶
在此,将不使用Resin的内建模块而是使用Apache的模块(mod_proxy/mod_rewrite)来进行web服务器与 intra-mart Accel Platform的联动时的设定
4.4.1.2. 获取mod_proxy/mod_rewrite¶
请参照产品提供的用户手册。
4.4.1.3. 配置静态文件¶
将从 im-Juggling 获得的“静态文件”解压缩到apache的文档根目录。关于静态文件的输出,请参照 输出静态文件。
4.4.1.4. 编辑apache设定文件¶
打开<%APACHE_HOME%/conf/httpd.conf>文件。
请在Dynamic Shared Object (DSO) Support区域中添加以下设定或将相关内容注释掉。
LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so请在末尾添加AllowEncodedSlashes指令、mod_proxy及mod_rewrite的设定。
context路径
imart
apache的文档根目录
/usr/local/apache/htdocs
静态文件的展开文件夹
/usr/local/apache/htdocs/imart
IP地址
192.168.1.1
端口号
8080
上述例子时的设定如下所述。
AllowEncodedSlashes On RewriteEngine On RewriteCond %{REQUEST_URI} ^/imart/(.*\.gif|.*\.GIF)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.png|.*\.PNG)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.jpg|.*\.JPG)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.css|.*\.CSS)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.js|.*\.JS)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.swf|.*\.SWF)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.ico|.*\.ICO)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.json|.*\.JSON)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.jar|.*\.JAR)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.xml|.*\.XML)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.yaml|.*\.YAML)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.txt|.*\.TXT)$ [OR] RewriteCond %{REQUEST_URI} ^/imart/(.*\.html|.*\.HTML|.*\.htm|.*\.HTM)$ RewriteRule ^/imart/(.*)?$ /imart/$1 ProxyPreserveHost On ProxyPass /imart/ http://192.168.1.1:8080/imart/ nocanon ProxyPassReverse /imart/ http://192.168.1.1:8080/imart/ nocanon注解
上面指定的扩展名为 intra-mart Accel PlatformAdvanced版+ intra-mart Accel Collaboration+ IM-FormaDesigner for Accel Platform中作为静态文件处理所必需的扩展名。想要使用上述RewriteCond中没有的静态文件时,请添加RewriteCond的记述。警告
请务必在请求中包含将AP服务器的context路径。若AP服务器侧是`http://myapp/imart`, 则请将请求URL设为`http://myweb/imart`。请重新启动Apache。
4.4.1.5. 编辑访问日志¶
使用反向代理时,Resin输出的access.log的源IP地址会全部变成127.0.0.1。 为回避此问题,可编辑access.log的输出内容。
打开<%RESIN_HOME%/conf/resin.xml>文件。
请在<host id=”” root-directory=”.”>指令内添加以下设定后重新启动Resin。
<access-log path='log/access.log'> <rollover-period>1D</rollover-period> <format>%{X-Forwarded-For}i %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"</format> </access-log>注解
关于access-log的详细设定内容,请参照“Resin Documentation ”。
4.4.1.6. 限制事项¶
关于限制事项,请参照“Release Note ”。