Yan*_*pan 9 debian ssl apache-httpd
我已经购买了 SSL,我正在尝试在浏览器上设置它。端口在路由器中转发到服务器,相信SSL证书安装正确(apache启动正常)。
我在 IPtables 防火墙中打开了端口,但是当我列出侦听的端口时 - 我没有看到任何侦听端口 443 的内容。
我检查了我的配置(带有 LAMP 服务器的默认 debian 7)并且我的 ports.conf 文件中有以下内容:
# 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
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
NameVirtualHost *:443
Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)
在启用站点的我有一个名为 default-ssl 的文件,其中包含(它很长,我只会添加主机数据,而不是整个 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 All
# 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>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/dev.webmark.co.il/dev_webmark_co_il.pem
SSLCertificateKeyFile /etc/ssl/dev.webmark.co.il/dev.webmark.co.il.key
# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
# huge file containing all of them (file must be PEM encoded)
# Note: Inside SSLCACertificatePath you need hash symlinks
# to point to the certificate files. Use the provided
Run Code Online (Sandbox Code Playgroud)
所以我为这篇很长的帖子道歉,只是认为这是相关信息。
我认为ports.conf 文件在443 上启用了侦听器,但我不知道为什么它不启用。
当我列出侦听端口时:
netstat -a | egrep 'Proto|LISTEN'
Run Code Online (Sandbox Code Playgroud)
我得到
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.0.0.10:mysql *:* LISTEN
tcp 0 0 *:35563 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 localhost:61619 *:* LISTEN
tcp 0 0 *:61620 *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 10.0.0.10:8888 *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 *:27017 *:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
tcp6 0 0 [::]:https [::]:* LISTEN
tcp6 0 0 [::]:55644 [::]:* LISTEN
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 7400 /tmp/mongodb-27017.so ck
unix 2 [ ACC ] STREAM LISTENING 7444 /var/run/dbus/system_ bus_socket
unix 2 [ ACC ] STREAM LISTENING 7215 /var/run/rpcbind.sock
unix 2 [ ACC ] SEQPACKET LISTENING 3434 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 7351 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 7624 /var/run/mysqld/mysql
Run Code Online (Sandbox Code Playgroud)
我很确定条件为真。我希望我提供了所有相关信息,而不是太多。感谢您花时间阅读本文。颜
编辑 以确保 mod_ssl 正在运行 - 我使用过
apache2ctl -M
Run Code Online (Sandbox Code Playgroud)
结果是:
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
headers_module (shared)
mime_module (shared)
ssl_module (shared)
negotiation_module (shared)
php5_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
Run Code Online (Sandbox Code Playgroud)
/编辑
Ste*_*day 13
你启用了mod_ssl
吗?由于您正在运行 Debian,这是执行此操作的方法(以 root 身份运行或通过 sudo 运行):
a2enmod ssl
Run Code Online (Sandbox Code Playgroud)
端口 443 是 HTTPS。从你的netstat
输出:
tcp6 0 0 [::]:https [::]:* LISTEN
Run Code Online (Sandbox Code Playgroud)
很明显,一个进程正在监听端口 443。要确认上面是否是 Apache (httpd) 进程,以 root 身份运行命令很重要。使用ss
,而不是作为netstat
被弃用:
# ss -tlnp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37117 次 |
最近记录: |