在某些情况下,需要从不同的URL访问iTop,例如为公司内部员工提供的局域网访问和为客户提供的互联网访问;简单的实现方法是安装两个指向同一数据库的ITOP实例。这允许分别对所有系统参数的完全控制,但会增加维护工作量,同时要保证两个实例完全同步,包括版本、参数......
另一种方法是把一些代码写入配置文件中,以调整取决于某些服务器参数的设置。由于配置文件是上加载在每个页面上的PHP文件,该设置可以是完全动态的。
例如,假设你有一个反向代理,用于控制进入iTop,并且希望所有的互联网用户使用HTTPS(安全)和局域网用户通过HTTP(快速)连接访问iTop。你可以做到以下几点:
- 在互联网上:
- 增加一条规则,重定向HTTPS所有的HTTP流量
- 在HTTPS虚拟主机配置上添加一个特定的header:
- APACHE:把RequestHeader设置在HTTPS上
- NGINX:把proxy_set_header 设置在HTTPS上;
- 在局域网上:
- 增加一条规则,重定向所有在HTTP上的 HTTPS流量;
- 为app_root_url设置以下值到配置文件中:
'app_root_url' => (isset($_SERVER['HTTP_HTTPS']) && ($_SERVER['HTTP_HTTPS'] == 'On')) ? 'https://iTop.yourdomain: '',
|