【问题标题】:HOWTO transfer a request made to an Apache server to an IIS server without using a URL redirect?如何在不使用 URL 重定向的情况下将向 Apache 服务器发出的请求传输到 IIS 服务器?
【发布时间】:2010-10-31 20:03:09
【问题描述】:

我的 Apache 2.2.9 在 Debian Lenny 5.0.1 上运行,有 2 个网络接口,一个接口有公共 IP 和主机名,另一个没有配置。这台机器迎合在 LAMP 堆栈上运行的服务。

有一台运行 IIS 7 的 Windows Server 2008 SP2 机器可以满足我们的 ASP.net 需求。该盒子可以配置为在本地或公共 IP 上,并且还具有 2 个网络接口。

两台服务器都通过 SSL 提供服务,而 Apache 是面向公众的。

有没有办法在发出诸如https://foo.com/contentfromiis/ 之类的请求时,浏览器可以提供来自IIS 服务器的内容,而无需使用重定向并传输到https://bar.com/iwastransferedhere/。换句话说,用户不得/体验/发生任何切换。谢谢!

【问题讨论】:

    标签: apache iis iis-7 redirect apache2


    【解决方案1】:

    是的,正如劳伦斯·贡萨尔维斯所说。这是一个简单的配置文件,我从我的缓存反向代理服务器中获取。您应该能够进行一些 URL 匹配,但我自己没有这样做。

    # httpd *reverse proxy caching server* config file for apache httpd 2.2
    ServerRoot "C:/Program Files/Apache Group/Apache2"
    #must exist, no reason to have anythign in it    
    DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
    
    Listen 127.0.0.1:80
    Listen 192.168.1.33:80
    ServerAdmin stu@thompson.name
    ServerName proxy.server.com
    
    LoadModule auth_module modules/mod_auth.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    
    ### PROXY CONFIGURATION  ###
    ProxyRequests Off
    ProxyVia On
    
    ### VH ###
    <VirtualHost 192.168.1.33>
        ProxyPass        /  http://192.168.1.34:80/
        ProxyPassReverse /  http://192.168.1.34:80/
        LogLevel info
    </VirtualHost>
    
    ### LOGGING CONFIGURATION ###
    # error log will not catch proxied content
    ErrorLog logs/error.log
    LogLevel info
    LogFormat "%{Host}i %v %h %l %u %t \"%r\" %>s %b  common
    CustomLog logs/access.log common
    TypesConfig conf/mime.types
    

    【讨论】:

    • 谢谢 Stu,当我根据我的环境调整它时,你的配置文件会很方便。
    【解决方案2】:

    如果我正确理解您的情况,我相信您可以使用mod_proxy 来做您想做的事。基本上,Apache 将充当您实际希望从 IIS 提供服务的请求的“反向代理”。请注意,反向代理与普通的 HTTP 代理不同。来自mod_proxy 文档:

    反向代理 ... 出现在 客户端就像一个普通的网络 服务器。无特殊配置 客户端是必要的。客户端 对内容提出普通请求 反向代理的命名空间。 然后反向代理决定在哪里 发送这些请求,然后返回 内容好像它本身就是 产地。

    【讨论】:

    • 感谢 Laurence,这解决了我的问题。
    猜你喜欢
    • 2011-06-07
    • 2021-02-26
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 2019-05-30
    • 1970-01-01
    相关资源
    最近更新 更多