gpt4 book ai didi

apache - 如何在 HTTP 应用程序上启用 Apache SSL 反向代理

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:00 25 4
gpt4 key购买 nike

我一直在尝试在 Apache 上为 Ubuntu 14.04 上的 HTTP 应用程序实现反向 SSL 代理时遇到问题。作为基准,当我在浏览器中正常通过端口 8000 访问应用程序时,它工作正常。出于所有意图和目的,假设我的应用程序的 IP 是 192.141.56.11(我还没有域名)。该应用程序使用 HTTP Basic Auth 运行,我不知道它是否相关。基本上我在这里寻找一些明显的错误,如果你能帮助我,我将不胜感激。这是我的过程日志:

我创建了我的 SSL 证书和 key 并将它们放在以下位置:

/etc/apache/ssl/apache.crt (I performed chmod 644 here)
/etc/apache/ssl/apache.key (I performed chmod 400 here)

然后我安装了:

apt-get install apache2
a2enmod proxy
a2enmod ssl
a2enmod proxy_http

然后我禁用了默认配置:

a2dissite 000-default

我创建了文件“/etc/apache2/sites-available/redirect.conf”

然后我创建了文件“/etc/apache2/sites-available/redirect.conf”并复制了以下文本:

<VirtualHost *:80>
Redirect "/" "https://192.141.56.11"
</VirtualHost>

之后,我创建了文件“/etc/apache2/sites-available/reverse_proxy.conf”并复制如下:

<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache/ssl/apache.crt
SSLCertificateKeyFile /etc/apache/ssl/apache.key
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

并做了:

service apache2 restart

我现在尝试在 Chrome 浏览器中访问另一台机器上应用程序的用户界面。尝试时:

https://192.141.56.11

我收到一般 SSL 连接错误。

但是,尝试

http://192.141.56.11:8000

给我应用程序,好像我的配置都没有改变任何东西。然而,

192.141.56.11:80

给我一​​个“索引”页面,其中有一个 html 文件夹,上面写着“Apache/2.4.7 (Ubuntu) 服务器位于 192.141.56.11 端口 80”

192.141.56.11:443

除了“Apache/2.4.7 (Ubuntu) Server at 192.141.56.11 Port 443”之外给我相同的结果

我已经尝试了所有配置方式,但无法得到我想要的 - 这里有什么想法吗?

最佳答案

编辑:我尝试了 https[:]//192.141.56.11 并得到了一个更具体的 SSL 错误:

received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long) 

EDIT2:运行 apache 后,我收到此警告;

apache2: Could not reliably determine the server's fully qualified domain        name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

我想这没问题,因为我使用的是 IP 而不是域名。

EDIT3:事实证明我需要做:

a2ensite reverse_proxy.conf.

现在 https[:]//192.141.56.11 工作但默认为 apache 页面。致力于此。

EDIT4:我不得不做 a2dissite default-ssl.conf

现在它实际上重定向到 https[:]//192.141.56.11 上的应用程序!!但我仍然可以通过端口 8000 访问该应用程序,这很糟糕{仍在处理中}

EDIT5:最后,我想不出如何阻止通过 Apache 上的端口 8000 访问原始应用程序。相反,我只是在服务器上实现了 iptables,以便它只能通过 HTTPS 访问。这可能不是正确的方法。但所有我能想到的。

关于apache - 如何在 HTTP 应用程序上启用 Apache SSL 反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33537088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com