Nginx的proxy_pass到Apache

我有一个用nginx作为反向代理的raspberrypi,另一台机器是nginx(用于owncloud)和apache(phpbb)。

redirect到nginx的作品,但不是redirect到Apache,而是redirect到owncloud。 我认为出于某种原因apache不“响应”的nginx代理,所以nginx代理使用第一个虚拟主机的字母顺序,而不是这个防火墙的问题,我用nmap检查端口也我可以直接访问Apache local_ip:8080,它的工作。

nginx代理的虚拟主机:

owncloud: http ://pastebin.com/G6Q6fiKz

phpbb: http : //pastebin.com/Keb5t4gt

apache:phpbb vhost:

<VirtualHost *:8080> #ServerName forum.spooky4672.me DocumentRoot /var/www/phpbb ErrorLog ${APACHE_LOG_DIR}/forum_error.log CustomLog ${APACHE_LOG_DIR}/forum_access.log combined </VirtualHost> 

简短的答案是:基于名称的虚拟主机不能使用SSL。 由于SSL连接在客户端开始与服务器交谈“名称”之前进行协商。

面向互联网的nginx代理的选项是:

  • 为每个安全服务器使用不同的IP地址
  • 为每个安全服务器使用不同的端口
  • 使用一个服务器名称,但将您的服务分为不同的位置
  • 有一种叫做SNI的东西,但我没有尝试过