我的案子很具体。我的客户端使用我的一个服务(https://example.com/service.php),我为他们生成了SSL证书,他们将该证书用于http请求。但是他们要求他们只能使用1024位证书(我没有问题生成它)。但是,由于我的CA根证书是2048位,所以请求失败。现在,他们希望我为他们打开端口4000,并要求通过SSL cleint证书进行访问。(如果这有任何意义的话)。
我在DigitalOcean VPS上运行Ubuntu14.04,我用
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是关闭的。我需要解决问题的建议。
发布于 2016-08-03 12:49:36
你需要添加
Listen 4000在apache配置中的某个位置。否则,apache将不会为该端口打开套接字。
通常,这些设置与Ubuntu衍生工具上的sites-enabled或sites-available目录不同,例如在主httpd.conf中。一个很好的地方可能是conf-available中的一个单独的文件,并将其与conf-enabled进行符号链接。
https://stackoverflow.com/questions/38727858
复制相似问题