我需要在 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 的方式,这真的是小菜一碟。