Django应用程序在子url(反向nginx+;ISA)下,部分url正在重复
请原谅我问的地方不对 我有一个由Gunicorn提供服务的django应用程序,它被NginX逆转,而这一个被ISA服务器逆转,因此我有以下内容:Django应用程序在子url(反向nginx+;ISA)下,部分url正在重复,django,nginx,isaserver,Django,Nginx,Isaserver,请原谅我问的地方不对 我有一个由Gunicorn提供服务的django应用程序,它被NginX逆转,而这一个被ISA服务器逆转,因此我有以下内容: ISA --> Nginx --> Gunicorn ISA将www.mydomain.com/some/path/here转换为Nginx,而这一个将/myapp转换为Gunicorn(Nginx和Gunicorn在同一台服务器上) 问题在于url,例如,访问此应用程序的基本url为 www.mydomain.com/some/pat
ISA --> Nginx --> Gunicorn
ISA将www.mydomain.com/some/path/here
转换为Nginx,而这一个将/myapp
转换为Gunicorn(Nginx和Gunicorn在同一台服务器上)
问题在于url,例如,访问此应用程序的基本url为
www.mydomain.com/some/path/here/myapp/
当django视图中存在类似重定向的操作时,例如:redirect(reverse('start'))
,
url应该是
www.mydomain.com/some/path/here/myapp/start/
但我明白了
www.mydomain.com/some/path/here/some/path/here/myapp/start/
正如您所看到的,some/path/here/
正在重复,我假设这是由ISA服务器完成的,但我不确定这一点。我做错了什么
在my settings.py中,我有:
BASE_PATH = '/some/path/here'
FORCE_SCRIPT_NAME = BASE_PATH + '/myapp'
LOGIN_URL = FORCE_SCRIPT_NAME + '/loginhere/'
URL.py:
...
url(r'^start/', 'testapp.views.start', name='start'),
...
My nginx.conf:
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
upstream wawared {
server 127.0.0.1:8000;
}
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/wawared.access.log;
error_log /var/log/nginx/wawared.error.log;
location /static {
root /path/to/static/files;
expires 1d;
gzip on;
}
location /myapp/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8000/;
proxy_redirect off;
}
}
}
嗯,不确定是否在主题上。如果您愿意,我可以迁移到serverfault或webmasters,在那里您可能会得到答案。