browser-Apache服务器的反向代理问题

问题描述

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

browser-Apache服务器的反向代理问题的相关文章

字段-Apache 如何对反向代理的请求及返回头做修改

问题描述 Apache 如何对反向代理的请求及返回头做修改 想通过Apache服务器的配置统计一下应用服务器处理请求的时间,知道Apache可以修改请求及响应头,如: Header set MyHeader "%D %t",其中%D就是请求的处理时间,然后我试验了一下,在apache部署目录中加入一些测试文件,通过浏览器访问,可以看到apache确实对响应头进行了处理,但是通过反向代理访问的请求,apache却无法对其Header进行处理,为什么? 图1是访问apache 本身的资源的

自动化Nginx服务器的反向代理的配置方法

  这篇文章主要介绍了自动化Nginx服务器的反向代理的配置方法,反向代理是Nginx服务器的招牌功能,需要的朋友可以参考下 如果可以减少过多的外部隔离的API和简化部署的细节 这会是非常好的. 在以前的文章中,我解释了"一些使用反向代理的好处".在我目前的项目里,我们已经构建分布式面向服务的架构,也显式提供了一个HTTP API,我们使用反向代理将请求路由通过API路由给单个组件.我们选择了Nginx Web这个优秀的服务器作为我们的反向代理,它快速.可靠且易于配置.我们通过它将多个

Nginx为Tomcat服务器作反向代理的配置教程_nginx

web上的server都叫web server,但是大家分工也有不同的. nginx常用做静态内容服务和代理服务器(不是你FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个应用容器,让java web app跑在里面的东西,对应同级别的有jboss,jetty等东西. 但是事无绝对,nginx也可以通过模块开发来提供应用功能,tomcat也可以直接提供http服务,通常用在内网和不需要流控等小型服务的场景. apache用的越来越少

Nginx服务器作反向代理时的缓存配置要点解析_nginx

这里给出示例,并详解. http { [...] [...] proxy_cache_path /data/nginx/cache/one levels=1:2 keys_zone=one:10m max_size=10g; proxy_cache_key "$host$request_uri"; server { server_name www.jb51.net jb51.net; root /home/www.jb51.net/web; index index.php index.

Nginx服务器作反向代理实现内部局域网的url转发配置_nginx

情景由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80端口的映射在访问的时候要域名加上端口,比较麻烦.并且公司入口路由最多只能做20个端口映射.肯定以后不够用. 然后k兄就提议可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用n

Nginx服务器的反向代理proxy_pass配置方法讲解_nginx

就普通的反向代理来讲 Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { proxy_pass http://127.0.0.1:8008; } Apache2的反向代理的配置是: ProxyPass /ysz/ http://localhost:8080/ 然而,如果要配置一个相对复杂的反向代理 Nginx相对Apache2就要麻烦一些了 比如,将url中以/wap/开

Apache实现反向代理负载均衡

说到负载均衡LVS这套技术,有很多种实现方法. 本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡. 首先,传统的正向代理如下图所示,正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务. 而负载均衡中的反向代理,通常意义上,是一个请求转发的代理.类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室.通过这样的操作,可以使每台服务器避免过多的负载导致宕机.而转发的这个过程,通常也有很多

Apache服务器中设置端口映射和反向代理的方法

 httpd.conf文件 ###new add for webui.cong### Include "E:/local/Wamp/bin/apache/Apache2.2.17/conf/webui_port.conf" Include "E:/local/Wamp/bin/apache/Apache2.2.17/conf/webui_proxy.conf" webui_port.conf文件 #proxy本地端口映射 DocumentRoot "E:/

试用Apache/Nginx反向代理多个Web应用

同一个域名,想绑定多个Web应用,简单的方式就是通过反向代理的方式实现. 比如我有一个域名www.xxx.com,并已映射到我本地服务器,同时又有两个应用blog和photo,已部署启动在后台服务器上,blog部署在本地3000端口(http://127.0.0.1:3000/blog),Photo部署在本地3001端口(http://127.0.0.1:3001/photo).希望通过www.xxx.com/blog访问博客应用,通过www.xxx.com/photo访问相册应用,这时就可以用