首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >反向代理背后的Laravel路由

反向代理背后的Laravel路由
EN

Stack Overflow用户
提问于 2015-04-28 07:29:04
回答 10查看 37.1K关注 0票数 22

好的,为了开发目的,我们有一个专用的web服务器。它目前没有直接连接到internet,所以我在另一台服务器上设置了一个apache反向代理,该服务器转发给开发服务器。

这样,我就可以访问服务器。

问题是,Laravel中的路由现在以内部服务器IP地址或服务器计算机名作为前缀。

例如,我转到http://subdomain.test.com,但是使用route()助手生成的所有路由都显示以下url:http://10.47.32.22而不是http://subdomain.test.com

反向代理是这样设置的:

代码语言:javascript
运行
复制
<VirtualHost *:80>
    ServerName igateway.somedomain.com

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://10.47.32.22:80/
    ProxyPassReverse / http://10.47.32.22:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

我已经在config\app.php中设置了实际域名。

问题

如何设置路由中使用的默认URL?我不希望它使用内部地址,因为这违背了反向代理的意义。

我尝试将我的所有路线都封装在一个Route::group(['domain' ...组中,这也不起作用。

EN

Stack Overflow用户

发布于 2018-11-07 13:20:28

我知道这个话题是旧的a.f,但我一直在解决这个问题,在我的DatabaseSessionHandler.pdf @照明/会话中替换了下面一行

代码语言:javascript
运行
复制
    protected function ipAddress()
    {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
//        return $this->container->make('request')->ip();
    }

当然,您需要首先迁移sesssion表并设置配置。

(.env变量SESSION_DRIVER=database)

票数 0
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29912997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档