在本地主机上的通配符子域上设置HTTPS

我在本地Ubuntu机器上创build了一个Laravel应用程序。 但是我想在所有的通配符子域上使用HTTPS 。 我怎样才能在本地做到这一点? 顺便说一句,我已经添加了我的网站的URL etc/hosts所以我不需要键入localhost ,而是www.mysite.loc

在这个问题的答案如何在Ubuntu的本地主机上安装SSL? ,我想只会在主要领域工作。

不,这个问题的答案如何在Ubuntu的本地主机上安装SSL? 工作正常。 但是你需要修改conf文件中的几行代码。

我设法现在尝试它,工作正常,但我从我的浏览器得到这个恼人的消息,我正在访问的网站是不安全的。 虽然没关系,因为它只是自签名证书。

在我的/etc/hosts我为本地站点添加了几个子域名,因为即使您正在配置虚拟主机,因为您的开发者的站点尚未在线访问,也无法正常工作。

说, www.mydomain.comhello.mydomain.comworld.mydomain.com

现在,我们需要启用SSL模块

sudo a2enmod ssl

重新启动Apache

sudo service apache2 restart

为自签名的SSL证书创建一个文件夹

sudo mkdir /etc/apache2/ssl

为SSL生成密钥和其他内容

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

回答他们的问题,并使用您的域名mydomain.com作为Common name

现在我编辑了驻留在/etc/apache2/sites-available/mydomain.com.conf虚拟主机的conf文件

这是里面的东西

 <Ifmodulee mod_ssl.c> <VirtualHost _default_:443> serverAdmin admin@example.com serverName www.mydomain.com serverAlias mydomain.com *.mydomain.com DocumentRoot /home/me/projects/www/mysite_folder ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/home/me/projects/www/mysite_folder"> SSLOptions +StdEnvVars Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted AllowOverride All </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> 

如果您已经启用了虚拟主机,则需要跳过此步骤。 别的,输入

sudo a2ensite mydomain.com.conf

最后,你需要重新启动Apache

sudo service apache2 restart

希望它可以帮助你! 您现在可以使用https访问您的网站

防爆。 https://www.mydomain.com : https://hello.mydomain.com : https://world.mydomain.com