无法访问 mysite 的 SSL 版本 [Apache2][SSL]

无法访问 mysite 的 SSL 版本 [Apache2][SSL]

所以我刚刚安装了 let's encrypt ssl 证书,使用命令

sudo certbot --apache -d mysite.org -d mysite.org

但是成功安装后,网站根本无法访问,我使用了网上的一些建议,比如将端口 443 添加到 ports.conf

Listen 443
<IfModule mod_ssl.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>

将 VirtualHost *:443 块添加到 000-default(尽管我确定我没有使用该配置)

<VirtualHost *:443>
DocumentRoot /var/www/html/mysite
ServerName mysite.org
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.org/privkey.pem
</VirtualHost>

我还在我的 apache 中使用 a2enmod ssl 启用了 mod_ssl,禁用了防火墙,并且每次进行更改时都重新启动 apache,但什么也没发生,我的网站仍然无法通过 ssl 访问,浏览器只是说我的网站无法访问。

mysite.org.conf 如下所示(我注释掉了 https 重定向):

<VirtualHost *:80>
ServerName mysite.org
ServerAlias www.mysite.org localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/mysite

<Directory /var/www/html/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/mysite.org-error.log
CustomLog ${APACHE_LOG_DIR}/mysite.org-acces.log combined
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =www.mysite.org [OR]
#RewriteCond %{SERVER_NAME} =localhost [OR]
#RewriteCond %{SERVER_NAME} =mysite.org
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

mysite.org-le-ssl.conf 的样子如下

<IfModule mod_ssl.c>
<VirtualHost *:443>    
    ServerAdmin [email protected]
    ServerName mysite.org
    ServerAlias www.mysite.org
    DocumentRoot /var/www/html/mysite
SSLCertificateFile /etc/letsencrypt/live/mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

我真的不知道如何解决这个问题,你们能帮帮我吗?

这是结果

sudo netstat -nlp |grep :443

tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   
tcp6       0      0 :::443                  :::*                    LISTEN      16258/apache2   

wget 命令的结果:

Connecting to mysite.org (mysite.org)|my.public.ip.address|:443... failed: Connection refused.

curl 命令的结果(我的 ubuntu 无法找到 curl 包,所以我在 windows 中执行了此操作)

curl: (56) Recv failure: Connection was reset

是的,我可以通过 http 和我的公共 IP 访问我的网站。

答案1

好吧,我以某种方式解决了它,因此我的路由器配置为将任何访问我的公共 IP 的人的 IP 转发到服务器 IP 端口 80,并且没有配置将 IP 转发到端口 443,添加该配置后,现在我终于可以通过 https 访问该站点了。

相关内容