我刚刚安装了nginx并将其设置为通过apache安装工作。事实上,我的规则是:
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Readl-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://example.com:8080;
}
location ~ /\.ht {
deny all;
}
}
我希望通过以下方式配置子域:
server {
listen 80;
server_name sub.example.com;
location / {
proxy_pass http://example.com:8080/sub;
}
location ~/\.ht {
deny all;
}
}
如此配置我的DNS:
NAME | TYPE | TARGET
//empty A 45.23.67.89
sub CNAME example.com
我等待传播,但我在Chrome中得到“太多重定向”......
响应总是301,并重定向到IP:80,我猜这是由于DNS中的A行引起的...如何将domain.com重定向到apache,我确实得到了“它工作“我们都很清楚......
有人能指出我正确的方向吗?
谢谢!
更新:
我在完全相同的程序后添加了另一个subdowmain,sub-sub,但它神奇地起作用......需要帮助!
答案 0 :(得分:0)
把
ProxyRequests off
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http:/127.0.0.1:2368/
</VirtualHost>
这个配置来自Apache2,不确定这是否可以在Nginx上运行,但是这可以在Apache2上修复它。显然改变了localhost的端口。该配置适用于Ghost Blog。
这会将访问者重定向到特定端口,如果您启用了HTTPS或SSL并且获得了太多重定向请求,这很好。您可以将端口设置为443(SSL端口)。
答案 1 :(得分:0)
好的解决了,
我在proxy_pass指令中添加了标题,并且它正常工作
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
但是,它仍然在网址的末尾添加斜杠(/),这意味着当我转到sub.example.com
时,我得到sub.exmaple.com//