如何配置 apache2 以使用 HTTPS 服务我的网站?

如何配置 apache2 以使用 HTTPS 服务我的网站?

我需要在 HTTPS 中测试我的网站,因为某些功能(即地理位置)只有使用 Firefox 的安全连接才能访问。

我试图跟随此帮助,但我未能成功实现我的需要。

到目前为止,我做了:

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2.service

这应该已经启用了我的 Web 服务器,使其能够使用自签名证书在标准端口 (443) 上进行安全连接。事实上,我可以通过输入 来浏览 Apache 主页https://localhost

但是,现在我有点无法独自配置我的网站.conf文件。

我尝试复制并修改/etc/apache2/sites-available/default-ssl.conf如下:

(webgis.conf)

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html

        #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
        SSLEngine on

        SSLCertificateFile  /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        Alias "/webgis" "/home/umberto/Documents/apps/projects/wineshire"
        <Directory "/home/umberto/Documents/apps/projects/wineshire">
            Require all granted
        </Directory>

    </VirtualHost>
</IfModule>

然后我通过执行以下操作启用了我的网站:

sudo a2ensite webgis
sudo systemctl restart apache2.service

当我尝试访问https://localhost/webgis/ol/webmap/wms_19_spatialite.html(资源所在的位置)时,我得到的只是404 not found

我认为错误不仅仅是配置 HTTPS 的问题,而与错误的 .conf 设置更相关。无论如何,有人能帮助我了解我做错了什么,或者总的来说,我执行的步骤有什么问题吗?

提前致谢!

编辑1

因此,在尝试找出.conf文件的问题后,我决定直接在新站点中添加一个别名和一个目录,default-ssl.conf猜猜结果如何?现在它可以正常工作了(我在 Firefox 上)...

所以基本上我设置的方式.conf(如上所示)显然是不正确的......期待解决这个谜团......

答案1

无论如何,我不确定 Firefox 是否会接受自签名证书。你需要的是真正的证书,易于获取/使用“让我们加密”

DigitalOcean 有一个关于在 Ubuntu/Apache 服务器上安装 LetsEncrypt 证书及其自动更新的非常好的教程

这就是我向服务器添加 HTTPS 的方式,这真的是小菜一碟。

相关内容