Apache 虚拟主机 https 用于远程连接 http 用于本地连接

Apache 虚拟主机 https 用于远程连接 http 用于本地连接

我成功设置了一个 Apache,它充当我本地网络中一台机器上运行的服务的反向代理(具有基本身份验证和 https)。

从互联网连接工作正常,但如果我想从局域网连接,一些客户端(例如基于 Java 的)在连接时会遇到问题(证书问题)。

因此,为了方便起见,我希望允许本地机器通过 http 进行连接,而无需基本身份验证。如何实现?

这是我当前的虚拟主机:

<VirtualHost _default_:80>
    DocumentRoot "${SRVROOT}/htdocs"
    #ServerName www.example.com:80
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin gmail.com
    ServerName <some domain>

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyVia Off
    ProxyPass / http://127.0.0.1:8082/
    ProxyPassReverse / http://127.0.0.1:8082/
    <Location />    
        AuthUserFile "...passwd.txt"
        AuthName "secured"
        AuthType Basic
        Require valid-user
    </Location>

        Alias /.well-known C:/xampp/htdocs/.well-known

    SSLEngine on
    SSLCertificateFile "...chain.pem"
    SSLCertificateKeyFile "...key.pem"
    SSLCertificateChainFile "...-crt.pem"
</VirtualHost>

第一个是需要更新 letsencrypt 证书。第二个是我想要为本地机器打开的(没有基本身份验证的 http)

答案1

您可以使用相同的代理指令,但要通过 IP 地址或网络进行限制。将类似内容以及所需的任何其他指令添加到端口 80 虚拟主机的以下内容中:

ProxyPass /http://127.0.0.1:8082/
ProxyPassReverse /http://127.0.0.1:8082/
<Location />
需要 ip <CIDR 表示法中的本地网络>
</Location>

相关内容