好的,为了开发目的,我们有一个专用的web服务器。它目前没有直接连接到internet,所以我在另一台服务器上设置了一个apache反向代理,该服务器转发给开发服务器。
这样,我就可以访问服务器。
问题是,Laravel中的路由现在以内部服务器IP地址或服务器计算机名作为前缀。
例如,我转到http://subdomain.test.com,但是使用route()
助手生成的所有路由都显示以下url:http://10.47.32.22
而不是http://subdomain.test.com
。
反向代理是这样设置的:
<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' ...
组中,这也不起作用。
发布于 2018-11-07 13:20:28
我知道这个话题是旧的a.f,但我一直在解决这个问题,在我的DatabaseSessionHandler.pdf @照明/会话中替换了下面一行
protected function ipAddress()
{
return $_SERVER['HTTP_X_FORWARDED_FOR'];
// return $this->container->make('request')->ip();
}
当然,您需要首先迁移sesssion表并设置配置。
(.env变量SESSION_DRIVER=database)
https://stackoverflow.com/questions/29912997
复制相似问题