Использование nginx для размещения нескольких приложений django/docker на одном сервере. возврат к корневому пути, а не к пути приложений
У меня есть приложение на django. Сниппет кода для функции load_form(request) в файле views.py. '''
def load_form(request):
if request.method == 'POST':
newQAForm = QAForm(request.POST)
if newQAForm.is_valid():
instance = newQAForm.save(commit=False)
instance.save(using='RadDataWarehouse')
return redirect('confirmation')
''' и другая функция '''
def confirmation(request):
return render(request, 'confirmation.html')
''' Он хорошо работает в локальном режиме. После сохранения формы в базу данных она направляет ее на http://127.0.0.1:8000/confirmation/. После того как я развернул ее на сервере linux. У меня возникла проблема после сохранения формы в базу данных. Она направляется на https://abcdomain.com/confirmation/;, но я предполагаю, что она перейдет на https://abcdomain.com/protocolqa/confirmation/. Ниже приведен nginx.conf для обратного прокси: '''
location /protocolqa/ {
proxy_pass http://localhost:8511/;
proxy_http_version 1.1;
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_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Script-Name /protocolqa;
proxy_set_header X-Original-URI $request_uri;
}
''' как исправить это и позволить ему добраться до https://abcdomain.com/protocolqa/confirmation/
После того как я изменил его на этот, он работает.
def confirmation(request):
return render(request, 'confirmation.html')