1.我想做的事:
I have a domain example.me, and a sub-domain text.example.me which is hosted on my Windows Server. It's running Apache with php 5.6
我要使用Let's Encrypt和此工具https://github.com/PKISharp/win-acme安装SSL证书
2.问题:
它似乎不工作,我得到以下错误时,试图访问https://test.example.me
此站点无法提供安全连接
3.到目前为止我所做的
我一步一步跟着从:https://commaster.net/content/how-setup-lets-encrypt-apache-windows
这是我的httpd-ssl.conf的内容
<VirtualHost *:443>
ServerAdmin me@examole.com
ServerName text.example.me
DocumentRoot "D:/xampp/htdocs"
RewriteEngine On
# Redirect to the correct domain name
RewriteCond %{HTTP_HOST} !^test.example.me$ [NC]
RewriteRule ^/?(.*)$ https://test.example.me/$1 [NE,L,R=301]
Alias /.well-known D:/xampp/htdocs/.well-known
SSLEngine on
SSLCertificateFile "conf/ssl.crt/text.example.me-crt.pem"
SSLCertificateKeyFile "conf/ssl.key/test.example.me-key.pem"
SSLCertificateChainFile "conf/ssl.csr/ca-test.example.me-crt.pem"
</VirtualHost>
我的80,443端口是可用的,并没有被Skype使用,所以这不是问题。
这是我的httpd-vhosts.conf的内容
<VirtualHost *:80>
ServerAdmin me@example.me
ServerName test.example.me
RewriteEngine On
# Redirect to the HTTPS site
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://test.example.me/$1 [NE,L,R=301]
ErrorLog logs/slog.log
</VirtualHost>
2条答案
按热度按时间ibps3vxo1#
我使用Let's Encrypt已经有几年了--但是没有(!)RewriteEngine。
这是我的http-vhosts.conf的一个片段
从我的httpd-ssl.conf中截取一段代码:
此外,请记住,当您要使用多个主机名时,您需要一个通配符证书-否则,使用Let 's Encrypt为每个主机/域名提供一个证书就很简单了-但您需要为正在使用的每个主机/域名提供一个虚拟主机部分。
最后但并非最不重要的是我个人的意见是ModRewrite不应该在没有必要的时候使用,因为它很复杂,而且不是大多数人真正理解的。
42fyovps2#
1.访问Certbot官方网站:Certbot说明|证书机器人(eff.org)
1.* * 下载适用于Windows的最新版本Certbot安装程序,网址为https://dl.eff.org/certbot-beta-installer-win_amd64.exe。
1.* * 安装到C盘。
1.运行〉命令提示符〉以管理员身份运行
1.输入电子邮件地址〉Y〉Y
1.转到:C:\xampp\apache\conf\extra
1.打开文件:httpd-vhosts.conf
1.* * 编辑**:
<VirtualHost :443> DocumentRoot C:\xampp\htdocs\aeapp ServerName callum.aeapp.uk SSLEngine on SSLCertificateFile "C:\Certbot\live\abc.com\fullchain.pem" SSLCertificateKeyFile "C:\Certbot\live\abc.com\privkey.pem"
1. * 在防火墙设置中添加端口443**(如果已经添加,则跳过此步骤)
1.* * 重新启动**Xampp