Django + react с apache не может найти django rest api
У меня есть приложение django + react, которое я хочу развернуть на своем VPS. Я установил apache для этого и попытался настроить его для работы с django и react. Когда я указываю только django в apache conf, он работает с командой curl к django api и react всегда работает нормально. Но когда я помещаю django и react вместе в файл conf в apache, кажется, что при выполнении post или get запросов к api он не находит django api.
Вот мой app.conf в apache :
<VirtualHost *:80>
ServerName vps-*******.vps.ovh.net
WSGIDaemonProcess app python-path=/home/gabriel/scanner:/home/gabriel/venv/lib/python3.11/site-packages
WSGIProcessGroup app
WSGIScriptAlias /api /home/gabriel/scanner/App/wsgi.py
<Directory /home/gabriel/scanner/App>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /static /home/gabriel/scanner/staticfiles
<Directory /home/gabriel/scanner/staticfiles>
Require all granted
</Directory>
Alias /static-react /home/gabriel/scanner/frontend/build/static
<Directory /home/gabriel/scanner/frontend/build/static>
Require all granted
</Directory>
<Directory /home/gabriel/scanner/frontend/build>
Options FollowSymLinks
Require all granted
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/api
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
CORS разрешен для всех источников в моем файле settings.py в django для тестирования, и весь файл settings.py кажется хорошо настроенным. wsgy.py тоже хорошо настроен, и вот мой urls.py :
from django.contrib import admin
from django.urls import path
from backend import views
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
urlpatterns = [
path('admin/', admin.site.urls),
path('api/register/', views.register_user, name='register_user'),
path('api/login/', views.login_user, name='login_user'),
path('api/logout/', views.logout_user, name='logout_user'),
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
path('api/forgot-password/', views.forgot_password, name='forgot_password'),
path('api/reset-password', views.reset_password, name='reset_password'),
path('api/login-with-verificationcode', views.login_with_verificationcode, name='login_with_verifcode'),
path('api/verify-code-then-login/', views.verify_code_then_login, name='verify_code_then_login'),
path('api/scan/', views.ScanView.as_view(), name='scan_server'),
path('api/check_superuser_exists/', views.check_superuser_exists, name='check_superuser_exists'),
path('api/create_superuser/', views.create_superuser, name='create_superuser'),
path('api/users/', views.UserListView.as_view(), name='user-list'),
path('api/users/<str:username>/', views.UserDeleteView.as_view(), name='delete-user'),
path('api/superuser/status/', views.CheckSuperUserStatusAPIView.as_view(), name='check-superuser-status'),
path('api/userslist/', views.UserListView.as_view(), name='user-list'),
]
Наконец, вот ошибка, которую я получаю в консоли браузера, когда фронтенд вызывает django api:
XHRPOST http://vps-******.vps.ovh.net/api/create_superuser/ [HTTP/1.1 404 Not Found 616ms]
Я попробовал
несколько конфигураций в Apache, но ни одна из них не работает... Когда я пробую другие конфигурации в apache, кажется, что react взаимодействует с django. Есть ли у вас идеи, откуда взялась моя проблема? Я новичок во всем этом, спасибо за помощь!