Rails 3 + Passenger + Apache:如何将 SSL 的端口从 443 更改为 8443?

Posted

技术标签:

【中文标题】Rails 3 + Passenger + Apache:如何将 SSL 的端口从 443 更改为 8443?【英文标题】:Rails 3 + Passenger + Apache: How to change the port for SSL from 443 to 8443? 【发布时间】:2014-01-08 16:50:50 【问题描述】:

我的托管服务告诉我将我的 SSL 端口从 443 更改为 8443,因为 OpenSSL 测试失败,即使它们正在生产中工作。

我将我的 apache ports.conf 文件更改为:

    NameVirtualHost *:80
    #NameVirtualHost *:443
    NameVirtualHost *:8443
    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.
        #Listen 443
        Listen 8443
    </IfModule>

    <IfModule mod_gnutls.c>
        #Listen 443
        Listen 8443
    </IfModule>

我还将我的虚拟主机从 &lt;VirtualHost *:443&gt; 更改为 &lt;VirtualHost *:8443&gt; 并重新启动了 apache,但是当我尝试通过 https 访问该站点时,浏览器显示:Firefox can't establish a connection to the server。会不会是防火墙问题?

【问题讨论】:

【参考方案1】:

配置接缝正确,您现在如何尝试访问您的网站?应该是

https://yourdomain.com:8443/

【讨论】:

这可能是不同的原因,例如防火墙,要检查它,您可以尝试直接从服务器使用一些控制台浏览器(例如 lynx)【参考方案2】:

起初配置看起来不错,我假设您启用了 ssh

机器中的ssh:

wget --no-check-certificate https://127.0.0.1:8443curl -k https://127.0.0.1:443(发布内容) 观察打开的连接,看看它背后是否是一个实际的 apache 进程(sudo netstat -anp | grep 8443sudo lsof | grep ":8443") 你的配置在其他地方没有被覆盖 检查您的配置是否有效(/etc/init.d/apache2 restart 的输出是什么) 如果您看到跟踪或其他错误,请检查 apache 错误/请求日志

从您的笔记本电脑:

尝试将此机器作为目标的 nmap,查看端口是否显示为已过滤 你确定 dns 没问题(用 ip 地址试过了吗?)

试试这个book,学习新的故障排除技术真是太棒了。

【讨论】:

以上是关于Rails 3 + Passenger + Apache:如何将 SSL 的端口从 443 更改为 8443?的主要内容,如果未能解决你的问题,请参考以下文章

Rails Ubuntu / passenger / capistrano应用程序资产未部署

Rails,Passenger,Nginx,我得到“403 Forbidden”,但为啥呢?

Rails + Elastic Beanstalk + Passenger:更改乘客配置

Rails 4 + Websocket-rails + Passenger + Nginx + 负载均衡器

Rails + (Phusion Passenger|Puma|Unicorn|Thin) + (Nginx|Apache) 如何协同工作?

简单 Rails 4 ActionController::Live 示例不适用于 Apache + Passenger