【发布时间】:2016-12-08 05:54:44
【问题描述】:
我的情况非常具体。 我的客户使用我的一项服务 (https://example.com/service.php),我为他们生成了 SSL 客户端证书,他们将其用于 http 请求。但他们要求他们只能使用 1024 位证书(我生成它没有问题)。但由于我的 CA 根证书是 2048 位请求失败。现在他们希望我为他们打开端口 4000 并要求通过 SSL 客户端证书进行访问。 (如果那有意义的话)。
我在 DigitalOcean VPS 上运行 Ubuntu 14.04 我用
打开了4000端口sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT
我还允许在 ufw 中使用该端口
sudo ufw allow 4000
我还添加了记录到
/etc/apache2/sites-available/default-ssl.conf
我将它添加到 default-ssl.conf 因为我希望端口 4000 可以通过 https (https://example.com:4000/service.php) 访问
<VirtualHost *:4000>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /home/admin/conf/web/client.pem
SSLCertificateKeyFile /home/admin/conf/web/client.key
<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
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
我遇到的直接问题是,当我尝试远程登录 example.com:4000 时,它说 4000 已关闭。我需要有关故障排除的建议。
【问题讨论】:
-
"我在 DigitalOcean VPS 上运行 Ubuntu 14.04 我用 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 打开了端口 4000 ”。你确定你做了什么?
-
好吧,我在这里复制了其他命令,实际上我确实打开了 4000 而不是 80。谢谢指出。
-
仍然缺少的是您遇到的实际问题。什么不起作用,您看到了哪些症状?
-
编辑问题以提供实际问题
-
检查
ss -tlnp是否有进程在端口 4000 上侦听。如果没有这样的进程,尤其是(但不仅是)在端口 80 上也没有进程侦听,请检查 apache 日志。你添加了Listen 4000到您的 apache 配置(在VirtualHost块的外部和前面),只是为了确定?