我正在尝试使用nginx将代理从子域反向到Laravel(5.2版)提供的url。在我的顶级域(domain.com)中,它在url domain.com/sub
上提供服务。我希望域sub.domain.com
可以访问它。它应该代理sub.domain.com
和domain.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;
}
}