【问题标题】:Limiting HTTPS to specific application routes将 HTTPS 限制为特定的应用程序路由
【发布时间】:2018-06-08 20:39:20
【问题描述】:

我有一个应用程序,它使用路由规则为用户和特定实体类型定义操作。是否可以为 Apache 的 SSL 实现创建一组特定的规则,以允许站点上的特定路径使用 HTTPS,而其他路由规则使用 HTTP?当前的路由规则是一个基本的参数重新格式化:

<Directory "/var/www/exampleapp/public/">
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</Directory>

所有应用程序行为都在端口 80 上的 VirtualHost 上提供服务。

【问题讨论】:

    标签: ssl apache2


    【解决方案1】:

    可能有几种方法可以做到这一点,下面给出了一种方法。 假设您的所有请求都通过 https 到达,您可以执行以下操作:

    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} ^/uri1 [NC]
    RewriteCond %{REQUEST_URI} ^/uri2 [NC]
    ..
    ..
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R]
    

    在这种情况下,您将在 https 上列出您需要的 uri,并将其余的重定向到 http
    你可以随时切换它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      相关资源
      最近更新 更多