跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
根类
所有页面
统计信息
分类树
特殊页面
FC
搜索
搜索
外观
登录
个人工具
登录
查看“︁查看谁在访问你的站点”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
查看谁在访问你的站点
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
基于ubuntu22下apache2+frp,查看日志发现访问ip都是127.0.0.1,需要修改一下配置。 如果你是通过 '''HTTPS (443端口)''' 访问,且 SSL 证书是配置在 '''内网 Apache 服务器''' 上,情况会稍微复杂一点,因为 Apache 对 HTTPS 的 Proxy Protocol 支持主要依赖于 <code>mod_remoteip</code> 模块。 请按照以下步骤针对 HTTPS 进行配置: === 1. 确认 frpc 配置 === 确保你的 <code>frpc.ini</code> 中,HTTPS 的代理部分开启了协议支持: <code>[web_https] type = https # 或者如果是 tcp 转发 443 local_port = 443 custom_domains = your-wiki.com proxy_protocol_version = v2</code> === 2. 配置 Apache 的 SSL 虚拟主机 === 你需要编辑处理 443 端口的配置文件(通常是 <code>/etc/apache2/sites-enabled/default-ssl.conf</code> 或类似的虚拟主机文件)。 在 <code><VirtualHost *:443></code> 块中加入以下指令: Apache <code><VirtualHost *:443> ServerName your-wiki.com # 1. 开启 Proxy Protocol 支持 RemoteIPProxyProtocol On # 2. 声明信任来自本地 frp 转发的 IP RemoteIPInternalProxy 127.0.0.1 # SSL 相关配置保持不变... SSLEngine on SSLCertificateFile /path/to/cert.pem SSLCertificateKeyFile /path/to/key.pem # 确保日志使用真实 IP ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost></code> === 3. 修改全局日志格式 (非常重要) === 如果这一步不做,日志里显示的依然会是 <code>127.0.0.1</code>。 编辑 <code>/etc/apache2/apache2.conf</code>,找到 <code>LogFormat</code> 定义行,将 <code>%h</code> 改为 <code>%a</code>: Apache <code># 找到这一行(通常叫 combined) LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined # 修改为(将 %h 改为 %a): LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined</code> === 4. 重启并验证 === Bash <code>sudo a2enmod remoteip sudo apache2ctl configtest sudo systemctl restart apache2</code> === ⚠️ 特别提示: === # '''版本要求''':<code>RemoteIPProxyProtocol</code> 指令需要 '''Apache 2.4.31''' 及以上版本。如果你的系统版本较老(如 Ubuntu 16.04 以前),可能不支持这个指令。 #* 查看版本命令:<code>apache2 -v</code> # '''连接断开问题''':一旦你在 <code>frpc</code> 开启了 <code>proxy_protocol_version = v2</code>,Apache 的对应端口 '''必须''' 配置了 <code>RemoteIPProxyProtocol On</code> 才能正常通信。如果一处配了一处没配,会导致握手失败(SSL 错误或连接重置)。 # '''AWS 安全组''':确保 AWS 服务端的 frp 监听端口(如 7000)和映射出的 443 端口都已经放行。 '''如果在重启时报错 <code>Invalid command 'RemoteIPProxyProtocol'</code>:''' 这说明你的 Apache 版本太低,或者 <code>remoteip</code> 模块没加载成功。此时你可能需要升级 Apache,或者改用 Nginx 作为前置转发,因为 Nginx 对该协议的支持更早且更稳定。 [[分类:Apache]]
返回
查看谁在访问你的站点
。
搜索
搜索
查看“︁查看谁在访问你的站点”︁的源代码
添加话题