apache - 关于 Apache httpd.conf 和应用服务器 aaa.conf 端口 80 和 443
问题描述
这个问题是关于 httpd.conf 和 aaa.conf 文件配置的。
Listen 443
<VirtualHost aaa.xyz.com:80>
ServerName ------.xyz.com
DocumentRoot "--------------"
httpd.conf
<VirtualHost aaa.xyz.com:443>
ServerName aaa.xyz.com
ServerAlias aaa
------------------------------------
Proxy Pass // aaa.xyz.com:1000/fff
Proxy Reverse // aaa.xyz.com:1000/fff
aaa.conf
请问80和443这两个端口是指什么?是不是当客户端请求网页时,请求被发送到 httpd.conf 的 443 端口。它从那里监听,然后转到 aaa.conf 以查找请求的网页。如果网页存在,则将其提取出来并发送到 httpd.conf 的 80 端口。那么,80端口上的请求被发送到客户端,然后显示在客户端的浏览器上?
我的理解正确吗?
解决方案
不完全的。首先,该配置有很多问题。让我们先解决这个问题:
Listen 80
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DebugLevel error
ErrorLog "logs/80_error_log"
AccessLog "logs/80_access_log" combined
DocumentRoot "/SOMEDIRECTORY"
</VirtualHost>
Listen 443
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
DebugLevel error
ErrorLog "logs/443_error_log"
AccessLog "logs/443_access_log" combined
# SSL CERTIFICATES CONFIGURATION HERE
ProxyPass "/" "http://aaa.xyz.com:1000/fff"
ProxyPassReverse "/" "http://aaa.zyx.com:1000/fff"
</VirtualHost>
这假设您已经加载了模块:
- mod_proxy
- mod_proxy_http
- mod_ssl
关于端口
端口用于打开与服务器的连接,然后与它通信。您与它的对话方式必须在客户端和服务器之间匹配。决定用80端口做http,用443端口做https。如果您向这些端口发送一些其他流量,Apache 将不知道如何处理它,因为它期待 HTTP(s) 请求。
客户前往http://www.example.com
或http://example.com
使用第一个 VirtualHost,因为域和端口匹配(http 端口默认为 80)。请求的网页取自DocumentRoot
目录。
客户前往https://www.example.com
或https://example.com
使用第二个 VirtualHost,因为域和端口匹配(https 端口默认为 443)。
然后代理配置:
- Apache“成为客户端”并将请求发送到
http://aaa.xyz.com:1000/fff
并等待响应,就像浏览器所做的那样。 - 当 Apache 收到响应时,它会删除
aaa.xyz.com
答案文件中对的引用并将其发送到客户端的浏览器。 - 本质上,Apache 隐藏
aaa.xyz.com
了 ,所以从客户端的浏览器的角度来看,所有的请求仍然去往 - 和来自 -www.example.com
。
我建议你阅读https://www.guru99.com/apache.html然后 http://httpd.apache.org/docs/2.4/mod/mod_proxy.html
推荐阅读
- javascript - 自定义路由器中的匹配路径名
- python - 使用 BeautifulSoup 在循环中的 href 中从 div 中提取文本
- ios - IOS 在拍摄时对视频应用慢动作效果
- allennlp - AllenNLP BERT SRL 输入格式(“OntoNotes v. 5.0 formatted”)
- c# - 在 C# 中,当应用程序以管理员身份运行时,如何更改登录用户的 HKEY_CURRENT_USER?
- c# - 尝试从 IIS 中的 API 访问文件夹时出现“用户名或密码不正确”
- linux - 插入设备时使用 android reverse 通过 USB 启动 ssh
- python - 如何对熊猫组中的每组数据应用函数
- excel - 我无法刷新导入到 Excel 电子表格中的 SharePoint 列表数据,该电子表格已上传到同一网站,使用 Excel Web Access 显示
- javascript - Vue3:v-model的问题,它不更新组件