我已为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;
}
这让我登录,但登录后Ajenti
重定向到“/ ajenti:auth”而不是“/ ajenti / ajenti:auth”。
例如:浏览器 - > HTTPS - > Nginx - > HTTP - > Ajenti
“ajenti:static”资源似乎也是一个问题。
请参阅:http://support.ajenti.org/topic/88086-support-ajenti-behind-a-reverse-proxy/
在Nginx
中处理此问题的建议方法是什么?
答案 0 :(得分:4)
编辑:添加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
}
}
有趣的是,这一切都在一个版本之前使用了这个完全相同的设置。
答案 1 :(得分:0)
这是我将如何做到的:
使用location ~ /ajenti.*
来匹配Ajenti的资源网址。
修改:对其进行了测试,并确实有效。