【问题标题】:Not propperly routing in reversed proxy Laravel App在反向代理 Laravel App 中没有正确路由
【发布时间】:2021-03-12 00:44:47
【问题描述】:

我已经配置了一个 Apache 服务器,它使用反向代理来显示一个在 laravel 中开发并安装在另一个 apache web 服务器上的 web 应用程序。假设域是myapp.app 哪个工作正常,但是当我单击子域时,假设myapp.app/register 浏览器返回myapp.appregister/

目前我的网络服务器配置如下:

  <IfModule mod_ssl.c>
<VirtualHost *:443>
             SSLEngine On
             ServerName myapp.app
             <Proxy *>
                Order deny,allow
                Allow from all
             </Proxy>
             <Location "/">
                RequestHeader set X-Forwarded-Proto https
                RequestHeader set X-Forwarded-Ssl on
                RequestHeader set X-Url-Scheme https
             </Location>
             ProxyPreserveHost on
             ProxyPass         /        http://172.31.0.234/
             ProxyPassReverse  /        http://172.31.0.234/
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.redes-erdica.tech
SSLCertificateFile /***.pem
SSLCertificateKeyFile /***.pem
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
             ServerName myapp.app
             Redirect permanent / https://myapp.app/
</VirtualHost>
</IfModule>

并且内部apache服务器的配置文件除了laravel项目的位置之外没有其他配置。发生的一些奇怪的事件是,如果我手动输入myapp.app/register,它会将我发送到应该在的位置,那么为什么当我点击注册按钮时浏览器会直接向我发送错误的信息?

另外,localserver中的app也可以正常使用。

【问题讨论】:

    标签: laravel apache web reverse-proxy


    【解决方案1】:

    您需要修改位于 /etc/apache2 文件夹中的主配置文件,您需要更改指向您的应用程序所在文件夹的 AllowOveride 部分的值,并将其更改如下:

        <Directory [your_app_folder]
           Options ...
           AllowOverride All
           Require ...
        </Directory>
    

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 2020-07-29
      • 2019-07-23
      • 2018-06-14
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多