apache2.4代理antd-pro后台项目

  1. 背景:

    • 服务器使用的是apache2.4
    • 使用antd-pro写的一个后台管理系统
    • 前端antd-pro使用的虚拟主机是admin.insome.net,后台使用的是laravel写的api服务器,是所有的虚拟主机是api.insome.net
  2. 测试过程中遇到情况

    • 前端访问https://admin.insome.net/api/currentUserapache服务器会把接口代理转发到https://api.insome.net/api/v1/。这样做是没有任何问题的,可以正常访问。但是https://admin.insome.net/icons/icon-192x192.png这个图片是在antd-pro项目目录下/icons/icon-192x192.png,一直是报错404,访问不到。
    • 我尝试把apache的代理转发关掉,但是每次访问还是会显示代理。
  3. 下边是apache虚拟主机的配置
<VirtualHost _default_:443>
DocumentRoot "/var/www/html/xxx-admin"
ServerName admin.insome.net
<Directory "/var/www/html/xxx-admin">
  Options FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on 
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/cert.key
SSLCertificateChainFile /path/to/cert.crt

#RewriteEngine on
#RewriteCond %{HTTP_HOST} ^admin.insome.net$
#RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
#RewriteRule ^admin.insome.net/api/(.*) https://api.insome.net/api/v1/$1 [P,L]

SSLProxyEngine on
ProxyPass "/icons" "!"
ProxyPass "/api/" "https://api.insome.net/api/v1/"
ProxyPassReverse "/api/" "https://api.insome.net/api/v1/"

</VirtualHost>
  1. 我的一些尝试

    • 注释以下信息,想要关掉代理,无效。前端网络连接看起来还是会转发,会显示两个请求,而且都是404了。
#SSLProxyEngine on
#ProxyPass "/icons" "!"
#ProxyPass "/api/" "https://api.insome.net/api/v1/"
#ProxyPassReverse "/api/" "https://api.insome.net/api/v1/"
  • 开始没有写ProxyPass "/icons" "!",原以为是这个原因,但是写上依然没什么效果。
  • 代理的路径以及目标双引号全部去掉,没影响

那么,我的问题是https://admin.insome.net/icons/icon-192x192.png怎么才可以访问到?这个图片服务器中当然是存在的。

阅读 469
评论
    0 个回答
    撰写回答

    登录后参与交流、获取后续更新提醒

    相似问题
    推荐文章