Nginx代理子域到laravel url


Nginx proxy subdomain to laravel url

我正在尝试使用nginx将代理从子域反向到Laravel(5.2版)提供的url。在我的顶级域(domain.com)中,它在url domain.com/sub上提供服务。我希望域sub.domain.com可以访问它。它应该代理sub.domain.comdomain.com/sub服务相同的东西。这是我的反向代理的nginx配置文件

server {
    listen 80;
    server_name sub.domain.com;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://domain.com/sub;
    }
}

这是我为laravel应用提供的nginx配置文件

server {
    listen 80;
    listen [::]:80;
    # Useful logs for debug.
    access_log      /var/www/domain/access.log;
    error_log       /var/www/domain/error.log;
    rewrite_log     on;
    root /var/www/domain/public;
    index index.php index.html index.htm;
    server_name domain.com local.domain;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

但它返回了500 internal server error。有什么建议可以修复它,或者如何实现它?感谢:)

我从这里找到了它的问题和解决方案Nginx反向代理导致无限循环

看起来我设置了proxy_header主机,这就是创建循环的原因。所以我评论了proxy_header主机。这是我完整的会议

server {
    listen 80;
    server_name sub.domain.com;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_pass         http://domain.com/sub;
    }
}