【问题标题】:How to configure apache to work with FE and BE on same machine?如何配置 apache 在同一台机器上使用 FE 和 BE?
【发布时间】:2016-01-16 06:41:07
【问题描述】:

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

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

我当前的配置如下:

名称虚拟主机 *:80 名称虚拟主机 *:81 服务器名称 www.myServer.de ServerAdmin webmaster@localhost DocumentRoot /data/fe/public 选项 FollowSymLinks AllowOverride 无 订单拒绝,允许 全部拒绝 选项 FollowSymLinks AllowOverride AuthConfig 命令允许,拒绝 允许所有人 重写引擎开启 # 重定向尾部斜杠... 重写规则 ^(.*)/$ /$1 [L,R=301] # 处理前端控制器... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride 无 选项 +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 命令允许,拒绝 允许所有人 重写引擎开启 # 重定向尾部斜杠... 重写规则 ^(.*)/$ /$1 [L,R=301] # 处理前端控制器... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 错误日志 ${APACHE_LOG_DIR}/error_be.log CustomLog ${APACHE_LOG_DIR}/access_be.log 组合

如何配置后端以提供静态内容而不受访问限制,但要确保 API 安全。或者它会是通过应用程序传递静态内容的替代方案吗?

我正在使用

  • Debian 8.1
  • Apache 2.4

【问题讨论】:

  • 我投票结束这个问题,因为它不是一个编程问题。在 unix.stackexchange.com 或超级用户可能会更好

标签: apache configuration server


【解决方案1】:

我最终配置了一个反向代理来传递静态内容。我在前端 vhost 中添加了以下几行:

ProxyPreserveHost On

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

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

【讨论】:

    猜你喜欢
    • 2011-12-05
    • 2014-03-17
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2016-07-23
    • 2012-01-20
    相关资源
    最近更新 更多