提问人:ali chouchen 提问时间:4/18/2017 更新时间:11/19/2023 访问量:2453
为我的虚拟主机设置 SSL [已关闭]
Set SSL for my virtual host [closed]
问:
这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。
6天前关闭。
我在服务器中创建了一个虚拟主机,我想为它设置 HTTPS。 我复制了另一个虚拟主机文件,但我得到
“您的连接不安全”
该文件适用于其他站点 (site1)。我是否也应该为第二个网站创建不同的证书(mywebsite.com)?如果是,那我该怎么做.
这是我的/etc/apache2/sites-available/www.mywebsite.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.dev.clevvermail.com
DocumentRoot /var/www/vhosts/ww.mywebsite.com-dev/current
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect 301 / https://www.mywebsite.com/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/vhosts/mywebsite.com-dev/current
ServerName www.dev.clevvermail.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www2.site1.com-0001/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www2.site1.com-0001/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /var/www/vhosts/mywebsite.com-dev/ >
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
SSLCertificateChainFile /etc/letsencrypt/live/www2.site1.com-0001/chain.pem
</VirtualHost>
</IfModule>
答:
您只需为您的 VirtualHost 使用不同的 SSL 证书 mywebsite.com 我看到您正在使用 Letsencrypt,因此您可以创建一个新证书,如下所示(您说该证书适用于 site1,因此 Letsencrypt 安装良好):
cd /opt/letsencrypt
您可以检查谁在使用端口 443:
sudo netstat -t -l -n -p | grep 443
大多数时候它会是 Apache,所以停止它:
sudo service apache2 stop
创建证书
sudo -H ./letsencrypt-auto certonly --standalone -d www.mywebsite.com
您将获得 :
重要提示: -祝贺!您的证书和链已保存在 /etc/letsencrypt/live/www.mywebsite.com/fullchain.pem 中。您的证书 将于 2017-07-17 到期。获取新的或调整后的版本 此证书以后,只需再次运行 letsencrypt-auto 即可。 若要以非交互方式续订所有证书,请运行 “letsencrypt-自动续订”
然后将其设置为 .conf 文件,重新启动 apache2
...
SSLCertificateFile /etc/letsencrypt/live/www.mywebsite.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.mywebsite.com/privkey.pem
...
不要忘记启动 Apache:
sudo service apache2 start
我所做的是为该站点创建一个目录:。然后我在网站的文件中创建了这个文件,特别是这个:/var/www/example.com
/etc/apache2/sites-available/
.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
ErrorLog /error.log
CustomLog /access.log combined
</VirtualHost>
</IfModule>
我使用 启用了我的新 Apache 站点/虚拟主机。最后,我使用 激活了新配置。a2ensite example.com-le-ssl.conf
systemctl reload apache2
我在我的博客上发布了整个解决方案的所有细节 https://jaimemontoya.com/blog/2023/11/17/13/08/
评论
example.com
评论