如何使用 https 访问 webmin 和 phpmyadmin?

如何使用 https 访问 webmin 和 phpmyadmin?

我在 CentOS 6.4 上安装了 Apache、PHP 和 MySQL

我可以从 LAN 上的另一台 PC 通过 SSH 使用 PuTTY 访问服务器。

我刚刚使用 yum 和 webmin repos 安装了 webmin,并使用 yum 和 epel repos 安装了 phpMyAdmin。

我可以使用http://localhost:10000和直接从我的服务器访问 webmin http://192.168.0.1:10000,但无法从我的 LAN 上的另一台 PC 访问它:

我可以直接从我的服务器访问 phpMyAdmin http://localhost:10000,但不能通过 LAN 上的另一台 PC 访问,当以 身份访问它时http://192.168.0.1/phpmyadmin,我得到的是Forbidden, You don't have permision to access /phpmyadmin on this server. Apache/2.2.15 (CentOS) Server at 192.168.0.108 Port 80

我认为过去我曾经使用 https 而不是 http 来访问 webmin。

有什么建议我应该如何解决吗?谢谢

答案1

首先,如果您在端口 10000 上同时运行 Webmin 和 PHPMyAdmin,则不应该这样做。但是,据我上次检查,PHPMyAdmin 本身并不直接绑定到接口。

对于 PHPMyAdmin,您可以像使用其他任何配置文件一样使用 apache 配置文件。例如,这将通过子域运行 PHPMyAdmin 并强制使用 SSL:

<VirtualHost *:80>
    ServerName phpmyadmin.example.tld
    Redirect permanent / https://phpmyadmin.example.tld/
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName phpmyadmin.example.tld

        DocumentRoot /path/to/phpmyamin

        <Directory />
            Options FollowSymlinks
            AllowOverride None
        </Directory>

        <Directory /path/to/phpmyadmin>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>

        <Directory /path/to/phpmyadmin/libraries>
            Order Deny,Allow
            Deny from All
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn

        CustomLog \
            ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on
        SSLCertificateFile \
            /etc/ssl/certs/yourcertificate.crt
        SSLCertificateKeyFile \
            /etc/ssl/private/yourprivatekey.key
        SSLVerifyClient none
        SSLOptions +StrictRequire

        BrowserMatch "MSIE [2-6]" \
            nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

        SSLProtocol -all +TLSv1 +SSLv3
        SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
        SSLProxyEngine off

        <IfModule mime.c>
            AddType application/x-509-ca-cert .crt
            AddType application/x-pkcs7-crl .crl
        </IfModule>
    </VirtualHost>
</IfModule>

或者配置 PHPMyAdmin 运行的 vhost 以正确使用 SSL。

要将 HTTPS 与 ProxyPass 一起使用(在 Webmin 的情况下),同样适用,但添加以下内容以通过端口 443 提供服务:

<IfModule mod_proxy.c>
    ProxyVia On
    ProxyRequests Off
    ProxyPass / https://webmin.example.tld:10000/
    ProxyPassReverse / https://webmin.example.tld:10000/
    ProxyPreserveHost on
    <Proxy *>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Proxy>
</IfModule>

答案2

您应该找到有关首次设置 Apache 的指南,例如:http://httpd.apache.org/docs/2.2/install.html

听起来你好像遗漏了配置文件中的某些内容。

相关内容