Portal的安全代理配置架構
對於正式運行的環境,一般需要設置網絡安全控制區DMZ,通過代理,把僅需要的端口向客戶端暴露,其他內部端口應該是在防火墻包含之內的。
下文將針對ArcGIS 的Portal軟件,講述在DMZ中如何架構的問題。
架構1,使用ArcGIS提供的WebAdaptor組件。
該組件分為.Net和Java版,支持運作在微軟的IIS以及常見的Java Application Server。
對於使用Web Server進行身份認證的場景下,必須使用Web Adaptor。
上圖的部署架構中,WebAdaptor需要分別針對Portal和GIS Server部署兩個Web應用。
在進行Portal和GIS Server進行聯合的時候,需要把GIS Server的WebAdaptor代理地址填寫到Services URL一欄,把GIS Server的內部6443地址填寫到Administrator URL一欄。
另外需要分別設置Portal和GIS Server的WebContextURL屬性,填寫其對應的WebAdaptor代理地址。
架構2,使用第三方反向代理服務器。
有眾多第三方反向代理服務器可以選擇,只要支持HTTP和HTTPS協議的服務器都可以。
下面以常見的Apache為例進行說明。
Apache提供若幹模塊支持反向代理和HTTPS。
通過配置Apache的httpd.conf文件,加載這些模塊:headers_module,proxy_module,proxy_http,ssl_module。
<VirtualHost _default_:80>
ServerName 192.168.1.72:80
ProxyTimeout 6000
ProxyPreserveHost On
RequestHeader add Accept-Encoding gzip
ProxyPass /portal http://portal.esrigz.com:7080/arcgis
ProxyPassReverse /portal http://portal.esrigz.com:7080/arcgis
ProxyPass /server http://portal.esrigz.com:6080/arcgis
ProxyPassReverse /server http://portal.esrigz.com:6080/arcgis
</virtualHost>
以下是HTTPS的配置
<VirtualHost _default_:443>
SSLEngine on
SSLProxyEngine on
SSLProxyCheckPeerCN off
SSLProxyVerify optional_no_ca
ProxyTimeout 6000
ProxyPreserveHost On
RequestHeader add Accept-Encoding gzip
ProxyPass /portal https://portal.esrigz.com/7443/arcgis
ProxyPassReverse /portal https://portal.esrigz.com:7443/arcgis
ProxyPass /server https://portal.esrigz.com:6443/arcgis
ProxyPassReverse /server https://portal.esrigz.com/server
ServerName 192.168.1.72:443
SSLCertificateFile "${SRVROOT}/conf/ssl/adproxy.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/common.key"
</virtualhost>
架構3,第三方代理服務器和WebAdaptor混合使用。
該架構能提供Web Server的身份認證功能,同時可以提供了雙重代理的安全標準。
Portal的安全代理配置架構