问题描述
- Apache服务器的反向代理问题
-
使用Apache2.2进行反向代理,然后第一次进去是正常的,可是点击跳转的话,就出现了这个错误信息:Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.比较百思不得其解,求教一下为什么会出现这样的情况,下面是我的Apache vhost配置:
SSLMutex default listen 9304 NameVirtualHost *:80 NameVirtualHost *:9304 <VirtualHost *:80> DocumentRoot "/Apache22/htdocs" ServerName 172.27.35.7:80 #SSLEngine off #RewriteEngine On #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=permanent] </VirtualHost> <VirtualHost *:9304> ServerName 172.27.35.7:9304 DocumentRoot "/Apache22/htdocs" ProxyVia on ProxyRequests off ProxyPreserveHost on SSLEngine on SSLProxyEngine On SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLCertificateFile "D:/Apache22/conf/openssl/server.crt" SSLCertificateKeyFile "D:/Apache22/conf/openssl/server.key" SSLCertificateChainFile "D:/Apache22/conf/openssl/ca.crt" <Proxy *> Order deny,allow Allow from all </Proxy> #<Location /mbi/appDownload> # Order deny,allow # Allow from all #</Location> ProxyPass / http://172.27.35.12:8080/ ProxyPassReverse / http://172.27.35.12:8080/ ErrorLog "logs/error.log" CustomLog "logs/access.log" common <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory> </VirtualHost>
解决方案
基于Apache的反向代理服务器
apache反向代理问题
Apache TrafficServer作为反向代理服务器
解决方案二:
你跳转的地址是gttp但是访问的的确是https协议
解决方案三:
参考ProxyPassReverse dropping HTTPS
注释掉下面的行
#ProxyPreserveHost On
时间: 2024-09-19 08:15:24