【问题标题】:CentOS 7 - Apache Reverse Proxy - SSL IssuesCentOS 7 - Apache 反向代理 - SSL 问题
【发布时间】:2018-01-05 05:06:45
【问题描述】:

我有两个在 CentOS 7 上运行 Apache 2.4 的 Web 服务器,我正在尝试为我的 Web 服务器设置一个反向代理服务器。到目前为止,代理服务器正在使用 Let's Encrypt 证书,当我在更改任何虚拟主机配置之前访问代理服务器时,我访问了我在代理上设置的域,并在左上角看到一个绿色锁手角(没问题)。顺便说一句,我正在使用 Firefox。

现在,当我配置虚拟主机以将请求重定向到我的 Web 服务器时,我得到一个缺少内容的网页(浏览器锁定上的黄色感叹号)。显然,我的网络浏览器似乎为了保护我自己而阻止了这些图像。代理服务器似乎正在重定向我的原始请求,这很好,但我没有在屏幕上看到所有内容加载。就像它被过滤掉了(它是)因为浏览器只是说它不安全。

我该如何解决?

这是我对虚拟主机的配置:

<VirtualHost _default_:443>


# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on
#
ProxyRequests Off

ProxyPass / http://IP:80/
ProxyPassReverse / http://IP:80/


</virtualhost>

我也看过这篇文章:http://awesometoast.com/cors/

【问题讨论】:

    标签: linux apache ssl centos7 httpd.conf


    【解决方案1】:

    你应该阅读CORS (Cross Origin Resource Sharing)

    代理通过后(在 vhost 配置中),尝试添加它(确保您已安装 apache mod_headers)

    标题添加“Access-Control-Allow-Origin”“*”

    这不是一个安全的配置,但是您的资源没有加载并且出现黄色感叹号的原因是因为您试图从不同的域加载资源,因此浏览器显示该站点不安全。在标头中允许具有资源的特定域将告诉浏览器具有资源的服务器是允许的。

    这里有一些链接可以参考:

    1. Apache proxy with cors headers

    2. Server Apache

    【讨论】:

    • 我所做的更改在 httpd.conf 或 ssl.conf 中不起作用 ProxyPass IP:80/index Header add "Access-Control-Allow-Origin" "*" 位置匹配>
    • 上述评论的格式很糟糕。另外,当我在代理服务器重定向后继续浏览时,我最终会得到一个“http:// ip address”。我是否应该在后端(Web 服务器)上进行这些配置。
    • 该选项应该在虚拟主机配置中设置。
    • 我可以让代理通过,但是域使用 HTTP 更改为另一个域,而不是保留 SSL 域。
    • Firefox 中的开发者控制台在说什么?另外,我认为这不会解决问题,但我认为应该为您想要的配置进行设置。 ProxyPreserveHost On 将其添加到您的虚拟主机配置中。这将维护面向客户端的服务器的主机头。
    猜你喜欢
    • 2017-08-03
    • 1970-01-01
    • 2020-09-07
    • 2021-05-21
    • 2014-11-06
    • 1970-01-01
    • 2017-10-24
    • 2014-11-14
    相关资源
    最近更新 更多