如何配置Apache在同一台机器上与FE和BE一起使用?

二十

我需要配置一个apache服务器,以从同一台计算机上提供前端和后端(均为php)。以下是要考虑的:

  • 后端是RESTful,API由防火墙保护,仅允许本地主机访问(仅作为临时解决方案,直到实现API令牌)。
  • 前端目前与后端在同一台计算机上,但是将在一段时间后移至另一台服务器。
  • 静态内容将从后端计算机传递

我当前的配置如下所示:

    *了NameVirtualHost:80
    了NameVirtualHost *:81


        服务器名称www.myServer.de

        的ServerAdmin网站管理员@本地
        的DocumentRoot /数据/ FE /公众

        
                有FollowSymLinks
                设置AllowOverride无
                订单拒绝,允许
                从所有拒绝
        
        
                有FollowSymLinks
                设置AllowOverride AuthConfig
                订购允许,拒绝
                从所有允许

                RewriteEngine叙述在

            #重定向尾部斜杠... 
            RewriteRule ^(。*)/ $ / $ 1 [L,R = 301] 

            #处理前端控制器...
                RewriteCond%{REQUEST_FILENAME}!-d 
                RewriteCond%{REQUEST_FILENAME}!-f 
 RewriteRule ^ index.php [L] 
        

        ScriptAlias / cgi-bin / / usr / lib / cgi-bin / 
        
                AllowOverride None
                选项+ ExecCGI -MultiViews + SymLinksIfOwnerMatch
                顺序允许,拒绝
                所有
        

        错误日志$ {APACHE_LOG_DIR} /error_fe.log 
        CustomLog $ {APACHE_LOG_DIR} /access_fe.log组合



ServerAdmin webmaster @ localhost 
        DocumentRoot / data / be / public

        
                选项FollowSymLinks 
                AllowOverride无
                命令拒绝,允许
                拒绝所有
        
        
                选项FollowSymLinks
                AllowOverride AuthConfig
                在所有
                RewriteEngine上
                允许,拒绝允许命令
            #重定向尾部斜杠... 
            RewriteRule ^(。*)/ $ / $ 1 [L,R = 301] 
            #处理前端控制器... 
                RewriteCond%{REQUEST_FILENAME}!-d 
                RewriteCond%{REQUEST_FILENAME}!-f 
                RewriteRule ^ index.php [L] 
        ErrorLog $ {APACHE_LOG_DIR} /error_be.log 
        CustomLog $ {APACHE_LOG_DIR} /access_be.log组合



    


如何配置后端以提供不受访问限制的静态内容,但保持API的安全。还是通过应用程序交付静态内容的替代方法?

我在用着

  • Debian 8.1
  • 阿帕奇2.4
二十

最后,我配置了用于传递静态内容的反向代理。我在前端虚拟主机中添加了以下几行:

ProxyPreserveHost On

ProxyPass /images http://<BE-IP>:81/files/images
ProxyPassReverse /images http://<BE-IP>:81/files/images

使用此配置,防火墙仍然可以保护后端不受外部请求的影响,但允许FE请求图像。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

debian和ubuntu在同一台机器上

如何配置Akka Pub / Sub在同一台机器上运行?

如何在同一台机器上运行多个 Apache Ignite 节点?

在同一台机器上使用github和公司的gitlab时如何使用不同的用户?

如何在 VMware 和 Virtualbox 上运行同一台机器?

如何在同一台机器上安装opencv 2.4和opencv 3

在一台机器上使用SSL的Tomcat和Apache Web服务器

如何在一台机器上使用GitLab和Gitlab-Mattermost?

IPC在同一台机器上... WCF

如何在同一台机器上使用 docker 为一个项目托管多个环境?

相同的apache mod_rewrite配置可在一台机器上运行,而在另一台机器上失败

如何在opensuse中在同一台机器上的VM和docker之间共享目录?

如何在同一台机器上安装 Windows Server 2012 和 Ubuntu 16.04 桌面

在同一台机器上安装ceph和ceph-osd吊饰吗?

Ubuntu SDK和Qt Creator在同一台机器上

在 Symfony Flex / Symfony 4 中的同一台机器上测试和开发环境

同一台机器上的 Postgres Patroni 和 etcd

在同一台机器上运行Node.js应用程序和PHP

在同一台机器上安装Ionic 2和Ionic 3

在同一台机器上的 Ubuntu 18.04 和 Windows 10 之间的文件共享

可以在同一台机器上安装Worklight Studio 6.0和Worklight Studio 6.1

Jenkins和OS X Server在同一台机器上

同一台机器上不能有 Excel 和 SSDT

Jenkins 和 SonarQube 需要在同一台机器上吗?

使用Kubernetes进行部署-同一台机器上的主节点和节点的可行性

使用python在同一台机器上模拟可靠的发送者和接收者

如何在同一台机器上设置不同的 Scala 版本?

如何在同一台机器上运行多个硒测试套件

如何与群管理器在同一台机器上运行docker群节点?