You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS下Apache+Node.js SSL配置:分路径访问静态页与Node服务

解决方法

1. 启用必要Apache模块

首先确认Apache加载了代理、SSL和目录索引所需的模块,CentOS 7下执行:

# 检查已加载模块
sudo apachectl -M

确保输出中包含proxy_module、proxy_http_module、ssl_module、dir_module。如果缺失,编辑/etc/httpd/conf.modules.d/下对应模块的配置文件,取消LoadModule行的注释,例如:

  • 对于mod_proxy:LoadModule proxy_module modules/mod_proxy.so
  • 对于mod_proxy_http:LoadModule proxy_http_module modules/mod_proxy_http.so
  • 对于mod_ssl:LoadModule ssl_module modules/mod_ssl.so
  • 对于mod_dir:LoadModule dir_module modules/mod_dir.so

2. 配置SSL虚拟主机

找到你的SSL虚拟主机配置文件(通常在/etc/httpd/conf.d/目录下,比如ssl.conf或自定义的phpnodejs.conf),替换原有内容为以下配置:

<VirtualHost *:443>
    ServerName phpnodejs.mydomain.com

    # 根路径静态文件设置
    DocumentRoot "/var/www/html/phpcode"
    <Directory "/var/www/html/phpcode">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        # 指定默认索引文件,优先加载index.html
        DirectoryIndex index.html index.htm
    </Directory>

    # 仅代理/nodejssl/路径到Node.js服务
    ProxyPass "/nodejssl/" "http://localhost:3000/"
    ProxyPassReverse "/nodejssl/" "http://localhost:3000/"

    # SSL证书配置(替换为你的证书路径)
    SSLEngine On
    SSLCertificateFile "/etc/pki/tls/certs/phpnodejs.crt"
    SSLCertificateKeyFile "/etc/pki/tls/private/phpnodejs.key"
    # 若有中间证书,添加此行
    # SSLCertificateChainFile "/etc/pki/tls/certs/chain.crt"
</VirtualHost>

# 可选:配置HTTP自动跳转至HTTPS
<VirtualHost *:80>
    ServerName phpnodejs.mydomain.com
    Redirect permanent / https://phpnodejs.mydomain.com/
</VirtualHost>

3. 验证配置并重启服务

检查配置语法是否正确:

sudo apachectl configtest

如果返回Syntax OK,重启Apache生效:

sudo systemctl restart httpd

核心逻辑说明

  • 根路径请求由DocumentRoot指定的静态目录处理,DirectoryIndex确保访问/时自动加载index.html。
  • 仅/nodejssl/路径的请求会被代理到监听3000端口的Node.js服务,ProxyPassReverse确保响应头的路径正确。
  • 所有访问通过SSL加密,配合80端口的跳转配置,强制用户使用HTTPS。

内容的提问来源于stack exchange,提问作者Kaushal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 17:42:58