如何仅在 Apache 中的特定位置启用 SSL 代理

如何仅在 Apache 中的特定位置启用 SSL 代理

我正在尝试使用 Apache 作为反向代理。

对于某些位置,我想转换客户端的 HTTP年代请求到服务器上的 HTTP 请求。
对于另一个位置,我想保留客户端的 HTTP年代请求也是 HTTP年代服务器上的请求。

我无法让它工作,因为像这样的指令SSLProxyEngine on不能在块内使用<Location>

我的设置是这样的:

<VirtualHost _default_:443>
    ServerName mysite.com
    ServerAlias www.mysite.com

    # THIS LOCATION I WANT TO BE HTTPS (client) --> HTTPS (server)
    <Location /_nuxt/>
      allow from all 
      satisfy any 

      ProxyPreserveHost On
      ProxyPass https://myserver.docker:1304/_nuxt/
      ProxyPassReverse https://myserver.docker:1304/_nuxt/
    </Location>

    # THIS LOCATION I WANT TO BE HTTPS (client) --> HTTP (server)
    <Location ~ ".*">
      # .* is a wildcard for any location
      AuthType openid-connect
      Require valid-user

      ProxyPreserveHost On
      ProxyPass http://myserver.docker:3000/
      ProxyPassReverse http://myserver.docker:3000/
    </Location>

    SSLCertificateFile "/some/location/server.crt"
    SSLCertificateKeyFile "/some/location/server.key"
    LoadModule ssl_module modules/mod_ssl.so
    SSLProxyEngine on
    RequestHeader set X-Forwarded-Proto “https”
    RequestHeader set X-Forwarded-Port “443”    
</VirtualHost>

如何获取一个位置SSL-Proxy 和其他没有SSL 代理?

相关内容