百度搜索一大堆,结果都是复制转载,其中一些还都是过时或者错的
服务器B反向代理到服务器A
添加或者修改以下配置到/etc/apache2/sites-available/default-ssl.conf
服务器A:域名cdn.server.com解析服务器A IP地址
开启mod:a2enmod http2 headers
重启服务service apache2 restart
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName cdn.server.com
DocumentRoot /var/www/
#允许服务器B跨域请求
Header add Access-Control-Allow-Origin https://server.com
#证书域名是:cdn.server.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cdn.server.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/cdn.server.com.key
SSLCertificateChainFile /etc/apache2/ssl/cdn.server.com.root.crt
</VirtualHost>
###服务器A上也要配置服务器B域名的虚拟配置
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName server.com
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/www.server.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/www.server.com.key
SSLCertificateChainFile /etc/apache2/ssl/www.server.com.root.crt
</VirtualHost>
重启服务service apache2 restart
服务器B:域名server.com 解析服务器A IP地址
开启mod:a2enmod proxy proxy_http proxy_http2 headers
重启服务service apache2 restart
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName server.com
DocumentRoot /var/www/
SSLProxyEngine On
ProxyRequests Off
#请求到服务器B路径/反向代理到https://cdn.server.com/
ProxyPass / https://cdn.server.com/
ProxyPassReverse / https://cdn.server.com/
ProxyPreserveHost on #以server.com而非cdn.server.com请求服务器A
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#证书域名是:www.server.com
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/www.server.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/www.server.com.key
SSLCertificateChainFile /etc/apache2/ssl/www.server.com.root.crt
</VirtualHost>
重启服务service apache2 restart