2017-07-29 177 views
0

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

现在,当我将虚拟主机配置为将请求重定向到我的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/

回答

0

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

后代理通(在虚拟主机配置)尝试添加这个(确保你已经安装了Apache的mod_headers)

Header add“Access-Control-Allow-Origin”“* “

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

这里有一些链接指:

  1. Apache proxy with cors headers

  2. Server Apache

+0

我所做的更改没有工作在httpd.conf或ssl.conf中 ProxyPass http:// IP:80/index Header add”Access-Control-Allow-Origin“”*“

+0

上述评论的格式非常糟糕。另外,当我在代理服务器重定向后继续浏览时,我最终会获得“http:// ip地址”。我应该在后端(网络服务器)上使用这些配置吗? –

+0

应该在虚拟主机配置中设置该选项。 –