我们的 LAN 内的 IIS 服务器上运行着 Aras Innovator PLM。
我们希望将其发布到互联网上,以供我们的合作伙伴和分包商访问,但由于后勤原因,无法简单地将服务器连接到公共互联网。
为了增强安全性,我们决定必须使用客户端证书运行 SSL,这样即使是配置错误的代理或服务器也不会泄露数据。
作为测试,我成功使用位于互联网上的 VPS 运行 Apache 作为 Web 代理(SSL),通过 VPN 连接到 LAN 内的 Web 服务器来浏览 MoinMoin。
Client <-> Internet <-> VPS <-> Proxy <-> VPN <-> WebServer <-> MoinMoin
但我无法对 Aras 做同样的事情,它进入登录页面后拒绝继续。显然它在内部工作。
所以:
https://server.domain.net/wiki有效
,但是
https://server.domain.net/InnovatorServer不起作用
我已经尝试了 TCPDUMPS 和 Wireshark,按下 LOGIN 按钮时看不到任何流量。
这是我的 apache 配置(出于安全原因进行了更改)
有什么建议下一步该尝试什么吗?
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName server.domain.net
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
allow from all
Order deny,allow
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 1
</Directory>
ProxyRequests off
ProxyPreserveHost on
SSLOptions +StdEnvVars +ExportCertData
RewriteEngine On
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
<Location /wiki>
Order deny,allow
Allow from all
SSLVerifyClient require
SSLVerifyDepth 1
ProxyPass http://server1.lan:80/wiki
ProxyPassReverse http://server1.lan:80/wiki
</Location>
<Location /InnovatorServer>
Order deny,allow
Allow from all
SSLVerifyClient require
SSLVerifyDepth 1
ProxyPass http://server2.lan:80/InnovatorServer
ProxyPassReverse http://server2.lan:80/InnovatorServer
ProxyPassReverseCookieDomain server2.lan server.domain.net
</Location>
SSLEngine on
SSLCACertificateFile /etc/ssl/certs/CA.pem
SSLCertificateFile /etc/ssl/certs/server.domain.net-cert.pem
SSLCertificateKeyFile /etc/ssl/private/server.domain.net-cert.key
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName server.domain.net
ReWriteEngine On
RewriteRule ^/InnovatorServer/(.*) https://%{HTTP_HOST}/InnovatorServer
</VirtualHost>