Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么所有SSL子域都指向同一IP_Ssl_Proxy_Apache2_Virtualhost_Reverse Proxy - Fatal编程技术网

为什么所有SSL子域都指向同一IP

为什么所有SSL子域都指向同一IP,ssl,proxy,apache2,virtualhost,reverse-proxy,Ssl,Proxy,Apache2,Virtualhost,Reverse Proxy,我将apache服务器设置为充当两个服务的反向代理。一个运行在192.168.1.50:5000上,另一个运行在192.168.1.121:8989上 我想要https://apple.example.com转到192.168.1.50:5000和https://orange.example.com转到192.168.1.121:8989 apple.example.com按预期工作,但由于某些原因,当我启用这两个站点时,每当我尝试加载orange.example.com时,它就会加载apple

我将apache服务器设置为充当两个服务的反向代理。一个运行在
192.168.1.50:5000上,另一个运行在
192.168.1.121:8989上

我想要
https://apple.example.com
转到
192.168.1.50:5000
https://orange.example.com
转到
192.168.1.121:8989

apple.example.com
按预期工作,但由于某些原因,当我启用这两个站点时,每当我尝试加载
orange.example.com
时,它就会加载
apple
,而Chrome的地址是
https://apple.example.com
。如果禁用
apple
vhost,
orange
按预期工作

以下是我的两个虚拟主机:

<VirtualHost *:443>
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName apple.example.com
    ServerAlias www.apple.example.com
    ProxyPass / http://192.168.1.50:5000/
    ProxyPassReverse / http://192.168.1.50:5000/    

    <Location />
        SSLRequireSSL
        Order allow,deny
        Allow from all
    </Location>

    SSLEngine On
    SSLProxyEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>

<VirtualHost *:80>
    ServerName apple.example.com
    ServerAlias www.apple.example.com
    Redirect permanent / https://apple.example.com/
</VirtualHost>

代理主机
代理请求关闭
ServerName apple.example.com
ServerAlias www.apple.example.com
ProxyPass/http://192.168.1.50:5000/
ProxyPassReverse/http://192.168.1.50:5000/    
SSLRequireSSL
命令允许,拒绝
通融
斯伦金安
SSLProxyEngine打开
SSLCertificateFile/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile/etc/apache2/ssl/apache.key
ServerName apple.example.com
ServerAlias www.apple.example.com
重定向永久/https://apple.example.com/


代理主机
代理请求关闭
ServerName orange.example.com
ServerAlias www.orange.example.com
ProxyPass/http://192.168.1.121:8989/
ProxyPassReverse/http://192.168.1.121:8989/   
SSLRequireSSL
命令允许,拒绝
通融
斯伦金安
SSLCertificateFile/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile/etc/apache2/ssl/apache.key
ServerName orange.example.com
ServerAlias www.orange.example.com
重定向永久/https://orange.example.com/

经过大约两个小时的努力,我意识到,因为我的重定向是永久性的,所以它被缓存在Chrome中。在某个时候,我的浏览器一定存储了从
橙色
苹果
的永久重定向。当我意识到去
https://orange.example.com
工作正常,但
http://apple.example.com
将重定向到
apple
。在清除浏览器缓存后,它工作得非常好。非常令人沮丧

<VirtualHost *:443>
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName orange.example.com
    ServerAlias www.orange.example.com
    ProxyPass / http://192.168.1.121:8989/
    ProxyPassReverse / http://192.168.1.121:8989/   

    <Location />
        SSLRequireSSL
        Order allow,deny
        Allow from all
    </Location>

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>

<VirtualHost *:80>
    ServerName orange.example.com
    ServerAlias www.orange.example.com
    Redirect permanent / https://orange.example.com/
</VirtualHost>