ここで質問するのが適切でない場合は、ご容赦ください。
Gunicorn によって提供される django アプリがあり、これは NginX によってリバースされ、これは ISA サーバーによってリバースされているため、次のようになります。
ISA --> Nginx --> Gunicorn
ISAwww.mydomain.com/some/path/hereは Nginx にリバースし、これ/myappは Gunicorn にリバースします (nginx と gunicorn は同じサーバー上にあります)。
問題は URL にあります。たとえば、このアプリにアクセスするためのベース URL は
www.mydomain.com/some/path/here/myapp/
django ビューに redirect eg: のようなアクションがある場合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 サーバーによって行われていると思いますが、これについてはよくわかりません。ここで何が間違っていますか?
私のsettings.pyには次のものがあります:
BASE_PATH = '/some/path/here'
FORCE_SCRIPT_NAME = BASE_PATH + '/myapp'
LOGIN_URL = FORCE_SCRIPT_NAME + '/loginhere/'
urls.py:
...
url(r'^start/', 'testapp.views.start', name='start'),
...
私の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;
        }
    }
}