惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
小众软件
小众软件
GbyAI
GbyAI
B
Blog RSS Feed
月光博客
月光博客
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
博客园_首页
G
Google Developers Blog

Apache

Apache 错误:(20014)Internal error 使用 Apache 反代 DuckDuckGo,如何处理 external-content.duckduckgo.com?反代 Google 时遇到 recaptcha 验证码又怎么解决? 大佬们, apache 服务器配置虚拟主机,配置禁止所有非法域名时。 flink 如何提高字符串解析性能 有没有哪位熟悉 apache httpd,有个离谱的事情问一下 部署个 apache/doris 怎么就这么复杂 httpd 和其它 web server 的通信方式有哪些? 使用 docker 安装 h5ai 后,直接访问文本文件乱码 关于 htaccess Redirect 301 问题,怎么去掉参数 反向代理配置 ip 可以访问,域名不行 「分布式系统前沿技术」专题 | Pulsar 的设计哲学 有在 macOS 配置 Apache 服务器的吗? 大佬们求教: HttpClients.createDefault() LApache 虚拟主机设置.htaccess 实现全站 HTTPS Apache2 如何配置 SSL 证书啊 请教乐于助人、高手如云的 V2 朋友们! 一个服务器分别运行 Apache2 子域名网站和 Nginx 主域名网站,子域名为何出现 400 Bad Request? 个推基于 Apache Pulsar 的优先级队列方案 Apache 2.4.38 在编译配置参数上,如何指定 apache 的配置文件安置到/etc 里面? apache 下如何将 xxx.com www.xxx.com https://xxx.com 重定向 https://www.xxx.com 的 Apache 的 Access Log 中老是出现 OPTIONS 访问,导致数据库连接中断,怎么处理? 很灵异的 apache 伪静态规则偶尔会失效 大家遇到过吗?求解决方法 flume 抓 TOMCAT 日志发 kafka,怎么按日志内容分段发送? ubuntu16.04 搭建 wiki 求助 关于 apache 多域名多站点(http 和 https 都有)单服务器配置问题 配置好的 CentOS httpd SSL 服务,为什么不能网页不能自动重定向 https? 请教一下在 Lightsail 部署 Python Flask project 时候遇到的问题 想问问大神, apache 搭建的反代,套了 CF 之后,被反代的网站出现 ERROR1000,应该如何解决 Apache 可以通过路由配置让一个域名访问两个系统吗? 解决了一个 Apache 拒绝服务的问题((OS 64)指定的网络名不再可用。AH00341: winnt_accept: Asynchronous AcceptEx failed.)
请教下 Apache2 代理二级域名的问题
CamelName · 2024-10-06 · via Apache

主机上有两个 web 服务,分别占用 4000 端口和 3000 端口,基于域名+端口可成功访问

希望实现子域名访问对应端口,如下:

sub1.domain.com -- ip:3000

sub2.domain.com -- ip:4000

添加域名解析

在域名解析供应商处完成如下配置

20241006-1910-Fig-1

Apache2 反向代理配置

参考以下步骤,在服务器上完成 apache2 反向代理配置子

在 Apache 中,你可以使用mod_proxy模块来设置反向代理,从而隐藏后端服务的真实端口号。通过这种方式,用户访问子域名时就像访问普通的 HTTP 或 HTTPS 网站一样,而不会看到后端服务运行的具体端口。

以下是基于 Apache 完成反代配置的步骤:

  1. 确保安装了 Apache 和必要的模块: 确保你的 Apache 服务器已经安装了mod_proxymod_proxy_http等模块。如果没有安装,可以通过以下命令安装(以 Debian/Ubuntu 系统为例):

    sudo a2enmod proxy
    sudo a2enmod proxy_http
    

    安装完成后需要重启 Apache 服务:

    sudo systemctl restart apache2
    
  2. 配置虚拟主机: 在 Apache 的配置文件目录下(通常是/etc/apache2/sites-available/),创建一个新的虚拟主机配置文件,或者编辑现有的配置文件。假设你想要为子域名service.example.com配置反向代理,并且该子域名将指向本地机器上运行的一个服务,例如运行在 3000 端口上的 Web 应用。

  3. 添加反向代理配置: 编辑配置文件并添加如下内容:

    <VirtualHost *:80>
        ServerName service.example.com
    
        # 可选:重定向所有请求到 HTTPS
        Redirect permanent / https://service.example.com/
    
    </VirtualHost>
    
    <IfModule mod_ssl.c>
        <VirtualHost *:443>
            ServerName service.example.com
    
            # SSL 证书配置
            SSLEngine on
            SSLCertificateFile /path/to/certificate.crt
            SSLCertificateKeyFile /path/to/private.key
            # 如果有中间证书
            SSLCertificateChainFile /path/to/chain.pem
    
            # 开启日志记录
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    
            # 反向代理配置
            ProxyRequests Off
            <Proxy *>
                Order deny,allow
                Allow from all
            </Proxy>
            ProxyPass / http://localhost:3000/
            ProxyPassReverse / http://localhost:3000/
        </VirtualHost>
    </IfModule>
    

    这个配置做了几件事:

    • 设置了一个监听 80 端口的虚拟主机,它会把所有请求永久重定向到 HTTPS 。
    • 设置了一个监听 443 端口的安全虚拟主机,用于处理加密连接。
    • 配置了 SSL 证书。
    • 启用了反向代理,并指定了后端服务的地址(这里假设是同一台机器上的 8080 端口)。
  4. 启用站点并重启 Apache: 保存更改后的配置文件,然后启用这个站点配置:

    sudo a2ensite your-config-file.conf
    sudo systemctl reload apache2
    
  5. 测试配置: 使用浏览器或其他工具(如 curl )访问http://service.example.com,应该会被自动重定向到https://service.example.com,并且最终可以看到运行在 8080 端口上的服务内容。

问题

完成配置后,访问http://sub1.example.com ,无法访问,提示 502

请教

  1. 上述配置方法可能是哪里出错了?请有实操经验的大佬指导下

  2. 除了上面这个方法,有没有其他方法?(已尝试宝塔面板)