我有一个在 Raspberry Pi 上运行的 Web 服务器。我在端口 443 上运行 stunnel,因此我一直在努力将 Web 服务器移至端口 8443。我将其用于Let's Encrypt (Certbot)
我的 SSL 证书,以前它们一直运行良好。
我已经学会了如何使用 DNS 质询获取证书,因此不再需要使用端口 443 进行身份验证。我相信我已经正确设置了所有配置文件,但我将在下面插入它们。
Apache 正在运行,并且没有任何事物与它冲突,但是每当我尝试通过 HTTPS 访问我的网站时,Chrome 都会说该网站意外关闭了连接,而 Edge 则说它使用了过时或不安全的 TLS 设置。
我一直在尝试自己解决这个问题,但目前我还不知道该怎么做。
# If you just change the port or add more ports here, you will likely also'
# have to change the VirtualHost statement in'
# /etc/apache2/sites-enabled/000-default.conf'
Listen 80
#<IfModule ssl_module>'
# Listen 8443'
#</IfModule>'
#<IfModule mod_gnutls.c>'
# Listen 8443'
#</IfModule>'
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet'
<IfModule mod_ssl.c>
Listen 8443
</Ifmodule>
VHost 配置示例
<IfModule mod_ssl.c>
<VirtualHost *:8443>
ServerName mysite.tld
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/mysite.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.tld/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
默认 HTTP 配置,供参考
<VirtualHost *:80>
ServerName mysite.tld
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect permanent / https://mysite.tld/
RewriteEngine on
RewriteCond %{SERVER_NAME} =mysite.tld
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
答案1
确认您正在使用浏览器连接到端口 8443。
确认它实际上是由 apache 处理的,而不是由其他监听该端口但不提供 SSL 的进程处理的。
确认 SSL 正在运行并监听端口 8443。
我在您的代码片段中没有看到SSLEngine On
。这也可能给您带来问题。