Для университетского проекта меня попросили создать простой веб-сайт с веб-интерфейсом реакции и laravel в качестве бэкэнда. В настоящее время я нахожусь в состоянии перехода от разработки к производству, что требует от нас использования веб-домена, предоставленного университетом (теперь он обозначается как www.example.com).
Поскольку нам предоставлен только один домен, я должны размещать фронтенд и бэкэнд на одном сайте. Теперь мне удалось разместить их так, чтобы http использовался для серверной части, а https для веб-интерфейса.
Проблема в том, что отправка данных на сервер (https на http) будет запрещена из-за политики реферера.
Так что теперь я думаю, что мне нужно сделать так, чтобы Бэкэнд также адресуется по https, но я не знаю как. Я использую apache виртуальный хост для хостинга, мой файл выглядит так:
<VirtualHost *:80>
DocumentRoot "/opt/lampp/htdocs/server/public"
ServerName example.com
<Directory "/opt/lampp/htdocs/server/public>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/opt/lampp/htdocs/react-client/build"
ServerName example.com
SSLEngine On
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory "/opt/lampp/htdocs/react-client/build">
Order allow,deny
Allow from all
</Directory>
Что я хочу, чтобы произошло
I хотите, чтобы https://example.com возвращал внешний интерфейс, а https://example.com/api возвращал внутренний интерфейс
Что я сделал, чтобы добиться этого
Я изменил
<VirtualHost *:80>
на
<VirtualHost example.com/api:443>
, а также изменил URL в файле env сервера, но это не работает