使用 OpenLiteSpeed 的 Web 浏览器中,Curl 可以运行,但页面不行

使用 OpenLiteSpeed 的 Web 浏览器中,Curl 可以运行,但页面不行

我在 Linode 服务器和 OpenLiteSpeed 上运行 Ubuntu 20.04.1 LTS openlitespeed.org

我在浏览器中遇到了example.com:8088example.com:7080两个 OpenLiteSpeed 管理和配置页面的超时。

但是通过 SSH 登录时,运行 curl 127.0.0.1 会给我根目录下的 index.html 文件的文本,并 curl http://localhost:8088 给我 OpenLiteSpeed 管理页面的 html 转储。

从另一台主机运行curl 123.45.67.123即可。

直接访问站点/服务器 IP123.45.67.123即可。

从另一台主机运行curl example 没有返回任何内容

在浏览器中运行example.com并显示 index.html 页面。

pingexample.com操作有效。

但我无法连接到example.com:8088浏览example.com:7080器。

Apache 正在运行,但是 OpenLiteSpeed 尚未配置为使用端口 80,因为我无法进入管理页面。

ufw 状态显示:

65500                ALLOW        Anywhere                 
443                    ALLOW        Anywhere                 
443/tcp                ALLOW        Anywhere                 
7080/tcp            ALLOW        Anywhere                 
8088/tcp            ALLOW        Anywhere                 
OpenSSH        ALLOW        Anywhere                 
80/tcp                ALLOW        Anywhere                 
65500 (v6)        ALLOW        Anywhere (v6)            
443 (v6)            ALLOW        Anywhere (v6)            
443/tcp (v6)        ALLOW        Anywhere (v6)            
7080/tcp (v6)    ALLOW        Anywhere (v6)            
8088/tcp (v6)    ALLOW        Anywhere (v6)            
OpenSSH (v6)    ALLOW        Anywhere (v6)            
80/tcp (v6)        ALLOW        Anywhere (v6)

完全禁用 ufw 对该问题没有影响。

有任何想法吗?


编辑于 2020/10/25:

在此处输入图片描述


编辑 10/26/2020

ufw这在我的本地 Mac 上运行,服务器上的端口 7080 被拒绝,并调出 OLS 管理页面:

ssh -L 7080:123.45.67.123:7080 [email protected]

重要提示:我使用的是 CloudFlare,这也是问题的一部分。CloudFlare 阻止了端口 7080(以及其他端口;请参阅https://support.cloudflare.com/hc/en-us/articles/200169156-Identifying-network-ports-compatible-with-Cloudflare-s-proxy)。因此,为了使用 localhost 隧道作为 Carles Mateo 的答案,您需要将 OpenLiteSpeed 的管理端口更改为 /usr/local 中允许的 CloudFlare 端口(如 8443)/lsws/admin/conf/admin_config.conf,重新启动 OpenLiteSpeed。并且还要禁用 CloudFlare 上的任何 SSL,至少在您配置不会引发安全错误的 SSL 之前。

总的来说,我使用 CloudFlare 保护 OpenLiteSpeed 管理页面免受脚本小子等攻击的解决方案是更改为并使用端口 8443 来配置 OLS 设置,然后通过 SSH 将该端口更改回 7080,该端口默认被 CloudFlare 阻止。

答案1

我认为您的问题是 OpenLiteSpeed 仅在本地主机地址上监听。

请确保正在监听 0.0.0.0,也就是所有地址。在我的示例中,有进程监听 127.0.0.1,还有进程监听 IPV4 0.0.0.0 和 IPV6 中的所有 IP :::

carles@fast:~$ sudo netstat -tulpn | grep LISTEN
[sudo] password for carles: 
tcp        0      0 127.0.0.1:6942          0.0.0.0:*               LISTEN      45335/java          
tcp        0      0 127.0.0.1:41601         0.0.0.0:*               LISTEN      45335/java          
tcp        0      0 127.0.0.1:63342         0.0.0.0:*               LISTEN      45335/java          
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      827/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1143/sshd: /usr/sbi 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      455095/cupsd        
tcp        0      0 127.0.0.1:34585         0.0.0.0:*               LISTEN      160123/java         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2072/master         
tcp        0      0 127.0.0.1:43195         0.0.0.0:*               LISTEN      160123/java         
tcp6       0      0 :::22                   :::*                    LISTEN      1143/sshd: /usr/sbi 
tcp6       0      0 ::1:631                 :::*                    LISTEN      455095/cupsd        
tcp6       0      0 :::25                   :::*                    LISTEN      2072/master    

如果您想调试流量是否来自其他站点,请在服务器上运行 tcpdump 并尝试从另一台机器连接。您将看到是否有该尝试。请先检查这一点并提供答案以继续调试。

但无论您的连接问题是什么,您都可以使用隧道从浏览器访问 localhost:8088。

如果您使用 Ubuntu 作为桌面,您可以执行以下操作:

ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER

例如:

ssh -L 8088:123.45.67.89:8080 [USER@]123.45.67.89

然后在您的浏览器中,您只需连接到 localhost:8088,隧道就会产生神奇的效果,您的服务器将相信该连接是本地连接的,因此您可以从浏览器配置任何内容。

干杯

答案2

我强烈建议你不要打开这些端口。请执行以下操作。

通过 SSH 将外部机器连接到您的服务器并为您创建一个加密隧道。在您的终端中输入以下内容,您将能够浏览您想要的网页。

使用 ssh 在本地机器上打开终端。

ssh -L 8088:example.com:8088 [email protected]

只要您保持此终端打开,您现在就可以浏览所需的页面。https://localhost:8088

是的,您的浏览器会害怕该证书是错误的,只需单击“继续”,您就一切就绪了。

对另一个端口重复此操作。或者,如果您使用 Windows,请使用 putty 并检查 ssl 选项。WSL2 也适用于我。

相关内容