通过 https DNS 的站点不可用
Site over https DynDNS not avaiable
我有一个 raspian + apache2 + ssl 和 dynDNS
转发的 dyndns 在 http 上工作,但该站点无法通过 https 访问,我不知道为什么...
如果我在本地网络上尝试同样的操作,一切似乎都正常。我通过 https 收到接受证书的提示。
我觉得问题应该在/etc/apache2/sites-available/default中找到。 /etc/apache2/sites-available/default-ssl
默认:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Alias /alias_P1 /var/www/Projekt1
<Location /alias_P1>
</Location>
Alias /alias_P2 /var/www/Projekt2
<Location /alias_P2>
DAV On
AuthType Basic
AuthName "dav"
AuthUserFile /var/www/Projekt2/pwd.dav
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
默认 SSL:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Alias /alias_P1 /var/www/Projekt1
<Location /alias_P1>
</Location>
Alias /alias_P2 /var/www/Projekt2
<Location /alias_P2>
DAV On
AuthType Basic
AuthName "dav"
AuthUserFile /var/www/Projekt2/pwd.dav
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/apache2/cert-ssl/zertifikat.key
SSLCertificateFile /etc/apache2/cert-ssl/zertifikat.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
最诚挚的问候感谢您的建议
如果不进一步了解您的 SSL 证书,就很难知道。你的 Apache 配置对我来说很好,虽然我不是 Apache 专业人士(但我确实做了我的公平分享)。
我的第一个怀疑是证书 - 如果您的证书包含您的 IP 地址,显然您的浏览器会因为证书中的 IP 不是您要连接的 IP 而感到不安。这是我对问题的第一个猜测,但也可能是其他问题。
您的证书是从哪里获得的?其中包含哪些信息?您的动态 DNS 供应商 (dynDNS.com?) 是否支持该 SSL 供应商?您没有使用自签名证书,是吗?
您可以查看 dnyDNS.com 的常见问题解答 here。即使您没有使用 dynDNS.com 的服务,这也可能会有所帮助。
另外,如果您有 openSSL,您可以检查您的证书以查看证书中包含哪些信息,并检查是否有任何信息可能受到动态 IP 地址的影响。
openssl x509 -in certificate.crt -text -noout
你可以看到更全面的openSSL讨论,有很多讨论点here
我有一个 raspian + apache2 + ssl 和 dynDNS
转发的 dyndns 在 http 上工作,但该站点无法通过 https 访问,我不知道为什么... 如果我在本地网络上尝试同样的操作,一切似乎都正常。我通过 https 收到接受证书的提示。
我觉得问题应该在/etc/apache2/sites-available/default中找到。 /etc/apache2/sites-available/default-ssl
默认:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Alias /alias_P1 /var/www/Projekt1
<Location /alias_P1>
</Location>
Alias /alias_P2 /var/www/Projekt2
<Location /alias_P2>
DAV On
AuthType Basic
AuthName "dav"
AuthUserFile /var/www/Projekt2/pwd.dav
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
默认 SSL:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Alias /alias_P1 /var/www/Projekt1
<Location /alias_P1>
</Location>
Alias /alias_P2 /var/www/Projekt2
<Location /alias_P2>
DAV On
AuthType Basic
AuthName "dav"
AuthUserFile /var/www/Projekt2/pwd.dav
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/apache2/cert-ssl/zertifikat.key
SSLCertificateFile /etc/apache2/cert-ssl/zertifikat.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
最诚挚的问候感谢您的建议
如果不进一步了解您的 SSL 证书,就很难知道。你的 Apache 配置对我来说很好,虽然我不是 Apache 专业人士(但我确实做了我的公平分享)。
我的第一个怀疑是证书 - 如果您的证书包含您的 IP 地址,显然您的浏览器会因为证书中的 IP 不是您要连接的 IP 而感到不安。这是我对问题的第一个猜测,但也可能是其他问题。
您的证书是从哪里获得的?其中包含哪些信息?您的动态 DNS 供应商 (dynDNS.com?) 是否支持该 SSL 供应商?您没有使用自签名证书,是吗?
您可以查看 dnyDNS.com 的常见问题解答 here。即使您没有使用 dynDNS.com 的服务,这也可能会有所帮助。
另外,如果您有 openSSL,您可以检查您的证书以查看证书中包含哪些信息,并检查是否有任何信息可能受到动态 IP 地址的影响。
openssl x509 -in certificate.crt -text -noout
你可以看到更全面的openSSL讨论,有很多讨论点here