Nginx作为Ajenti的反向代理

我已经为Ajenti设置了一个服务器块 – > http://support.ajenti.org/topic/349870-ajenti-behind-nginx/

 location /ajenti { rewrite (/ajenti)$ / break; rewrite /ajenti/(.*) /$1 break; proxy_pass http://127.0.0.1:8000; proxy_redirect / /ajenti/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } 

哪个让我login,但是在我login后, Ajentiredirect到“/ ajenti:auth”,而不是“/ ajenti / ajenti:auth”。

例如:浏览器 – > HTTPS – > Nginx – > HTTP – > Ajenti

这也似乎是“静态”资源的一个问题。

请参阅: http : //support.ajenti.org/topic/88086-support-ajenti-behind-a-reverse-proxy/

Nginx处理这个问题的build议方法是什么?

编辑:添加proxy_set_header Origin http://$host; 为我修复它。

升级到最新版本的ajenti后,我也有这个问题。 错误403无效的来源。 这是我的设置。

 server { listen 443 ssl; server_name ajenti.mymagicalwebsite.com; ssl on; if ($scheme = http) { return 301 https://$server_name$request_uri; } location / { proxy_pass http://localhost:8000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 36000s; ## Timeout after 10 hours } } 

有趣的是,这一切都工作在一个版本之前,完全相同的设置。

以下是我将如何做到这一点:

使用location ~ /ajenti.*来匹配Ajenti的资源URL。

编辑 :测试,它的作品。