尝试将同一域上的后端和前端分开

时间:2019-11-01 13:56:12

标签: angular api .htaccess docker

我想将网站的后端和前端分开。 对于前端,我正在使用Angular。 对于后端,我正在使用Symfony。

要运行一切,我从php:7.1.8-apache起使用Docker

后端确实可以运行,我可以从http://localhost:8080/api/

访问它

我在互联网上寻找东西,并尝试了很多适合我的东西。但这没用。

我试图创建一个.htaccess并在其中设置以下代码:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/api
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ core/public/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ spa/dist/spa/

Docker: docker-compose.yml:

version: '3'
services:
 app:
  build:
   context: .
   dockerfile: .docker/Dockerfile
  image: meeting-rooms-docker
  ports:
   - 8080:80
  volumes:
   - .:/srv/app

Dockerfile:

FROM php:7.1.8-apache

MAINTAINER Joey

COPY . /srv/app
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf

RUN chown -R www-data:www-data /srv/app \
    && a2enmod rewrite

vhost.conf

<VirtualHost *:80>
    DocumentRoot /srv/app/

    <Directory "/srv/app/">
        AllowOverride all
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我的文件结构:

projectFile
- spa (Angular)
- Core (Symfony)
- .docker
.htaccess

当我在spa文件夹中使用命令ng serve时。它显示正确的页面(欢迎页面)。 但是当我转到使用docker运行的页面并实现.htaccess时,它显示此错误: Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec. 在控制台中

0 个答案:

没有答案