因此,我创建了一个 owncloud 实例,并且我希望能够从外部网络访问它(它在内部运行良好),但一位老管理员创建了一个“反向代理”(他之前提到过)所以我试图理解他的混乱...
因此,我们有一个 godaddy 域名,domain.com,其中我已经添加了 owncloud.domain.com,所以那部分很好,现在转到反向代理..
- 服务器 1 - 反向代理位于 DMZ 上
服务器 1 - 安装了 Wordpress 并使用 SSL
服务器 2 - Owncloud 服务器位于 LAN 上
- 服务器 2 - 本身有 SSL 密钥
当我登录 domain.com 时,我得到了我的 wordpress 网站,这很棒。但是当我访问 owncloud.domain.com 时,我在 chrome 上收到错误:ERR_SSL_PROTOCOL_ERROR
我尝试了很多事情都没有成功,我希望有人能给我指明正确的方向。
以下是 sites-enabled 下的 VirtualHosts:
OwnCloud
<VirtualHost *:80>
ServerName owncloud.domain.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass owncloud.domain.com
ProxyPassReverse owncloud.domain.com
</Location>
</VirtualHost>
域名(WordPress 网站)
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /etc/httpd/htdocs/wordpress-new
DirectoryIndex index.php
<Directory />
Options None
Order deny,allow
Deny from all
AllowOverride None
</Directory>
<Directory /etc/httpd/htdocs/wordpress-new>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
RewriteEngine on
RewriteLog logs/rewritelog
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value encoding_translation 0
</IfModule>
</VirtualHost>
任何帮助都将不胜感激!!!
答案1
您的虚拟主机配置缺少该ssl
部分。它仅监听 HTTP 端口 (80),因此 HTTPS (443) 上的请求不起作用。您应该首先检查是否可以使用您的配置通过 http 访问网站。
您需要类似以下内容的内容,您可以与您的内容进行比较并进行调整:
<VirtualHost *:443>
ServerName owncloud.example.com
ProxyRequests Off
ProxyPass / http://owncloud.internal.net/
ProxyPassReverse / http://owncloud.internal.net/
SSLProxyEngine On
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
答案2
两台服务器都应安装 SSL 证书(反向代理和 owncloud)。
在反向代理的 hosts 文件中添加 owncloud 服务器的条目
即 192.168.1.1 myownlcoud.internaldomain.com
域名“myowncloud.internaldomain.com不应该可以解决从外部。另外,在反向代理配置中添加“假”主机名:
ProxyPass / http://myowncloud.internaldomain.com/
ProxyPassReverse / http://owncloud.internaldomain.com/