AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-12039

andi's questions

Martin Hope
andi
Asked: 2017-12-30 03:54:03 +0800 CST

当我设置 gerrit.canonicalWebUrl 时,“页面没有正确重定向”

  • 1

从https://github.com/GerritCodeReview/docker-gerrit安装 Gerrit 以下Using Gerrit in production部分后,该字段自动设置为此值:

[gerrit]
        canonicalWebUrl = http://eac32ee72f2b/

我想在反向代理后面使用 Gerrit,所以我这样配置 Apache2:

ProxyPass / http://192.168.19.241:8080/ nocanon

这有效,但是一旦我设置gerrit.canonicalWebUrl为https://gerrit.example.com,我得到页面没有正确重定向并且浏览器中的 URL 变为https://gerrit.example.com//login/.

如果我尝试将规范的 web url 设置为https://gerrit.example.com/g/并将 Apache2 相应地更新为:

ProxyPass /g/ http://192.168.19.241:8080/g/ nocanon

我在浏览器中收到“未找到”消息,并且栏中的 URL 现在显示为https://gerrit.example.com/g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g. 如果我检查 HTTP 标头,对于页面的初始请求,https://gerrit.example.com/g我会得到 301 重定向到https://gerrit.example.com/g//g.

在所有情况下,配置httpd.listenUrl都是proxy-http://*:8080.

谁能告诉我我做错了什么?我想设置正确的 Web URL,因为它在通过 HTTP 检出存储库的链接中可见,也可能在其他地方可见。

gerrit
  • 1 个回答
  • 1080 Views
Martin Hope
andi
Asked: 2017-01-11 05:30:28 +0800 CST

apache2 dbd 授权无需身份验证

  • 2

我想只通过用户名授权用户,忽略任何密码。用户名是许可证 ID。如果你有它,你可以访问该网站,否则不能。

该系统现在可以在 Apache 2.2 上使用mod_auth_mysql通过设置AuthMySQLNoPasswd On.

现在我正在尝试升级到 Apache 2.4 并使用mod_authz_dbd。我不想做任何dbd身份验证,所以我考虑使用mod_authn_anon对任何用户进行身份验证,然后使用dbd进行授权。这是配置:

AuthType basic
AuthName "Please use license ID as user name, password is irrelevant"
AuthBasicProvider anon
Anonymous_NoUserID on

# "authorized" is the name of an imaginary group that is returned by AuthzDBDQuery
# when username matches license ID in the database
Require dbd-group authorized
AuthzDBDQuery "select 'authorized' from user_info where user_name = %s"

这是日志的相关部分:

mod_authz_core.c(809): AH01626: authorization result of Require dbd-group authorized: denied (no authenticated user yet)
mod_authz_core.c(809): AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
auth_basic:error] AH01618: user id not found: /protected/

似乎anon实际上并没有对用户进行身份验证以使其可用于dbd授权。

我知道mod_wsgi,但我想要一个带有标准 apache2 模块的解决方案。我不想安装 Python。

apache-2.4 apache2
  • 2 个回答
  • 905 Views
Martin Hope
andi
Asked: 2009-08-13 10:48:44 +0800 CST

GRE(IP 协议 47)NAT 规则似乎已过期

  • 0

我有一台机器通过永久 GRE 隧道连接到另一台主机。我已将机器放在 Linux 防火墙 (Smoothwall) 后面,并使用以下规则对机器的所有 GRE 数据包进行 NAT:

/sbin/iptables -t nat -A PREROUTING -p 47 --src $tunnel_server_ip -j DNAT --to-destination $false_ip
/sbin/iptables -t nat -A POSTROUTING -p 47 --src $false_ip -j SNAT --to-source $real_ip    
/sbin/iptables -t nat -A INPUT -p 47 -j ACCEPT

(参见Linux 路由器上的 NAT GRE(IP 协议 47))

一切正常,但是在隧道上闲置一段时间后,大约 15 分钟,我无法通过隧道从互联网连接到机器。在我将任何数据包从机器发送到互联网后,ping,在浏览器中打开一个网页,隧道再次被激活。作为一种解决方法,我现在使用启动 curl 到 Internet 页面的 cron 脚本。

请帮助我了解导致隧道停止运行的原因,并告诉我可以做些什么来替换 curl hack。

linux
  • 2 个回答
  • 2439 Views
Martin Hope
andi
Asked: 2009-07-09 04:12:24 +0800 CST

Linux 路由器上的 NAT GRE(IP 协议 47)

  • 4

我有一台主机,它具有到 Internet 上服务器的永久静态 GRE 隧道。现在主机有自己的真实IP地址。我想将主机放在 Linux 机器(Smoothwall)后面,并为其分配一个私有 IP 地址。

让我们调用:
tunnel-server-ip = 主机连接到的隧道末端的 IP(在互联网上)
real-ip = 主机当前使用的真实 IP,我想分配给 Linux 路由器
false -ip = 主机通过 Linux 防火墙后将获得的 IP

这就是我认为我必须为隧道工作所做的事情:

  1. 对来自互联网隧道端的外部接口上的所有传入 IP GRE 数据包进行 DNAT 处理,并将它们发送到主机。也就是将目的地从真实IP更改为虚假IP并将数据包发送到虚假IP
  2. SNAT 所有来自主机的内部接口上的传入 IP GRE 数据包看起来它们是由 Linux 机器生成的,并将它们发送到隧道服务器。即将源字段从false-ip更改为real-ip并将数据包发送到tunnel-server-ip

我想出了以下脚本:

tunnel_server_ip=217.x.x.x
false_ip=192.168.2.2
real_ip=82.x.x.x
/sbin/iptables -A PREROUTING -p 47 --src $tunnel_server_ip -j DNAT --to-destination $false_ip 
/sbin/iptables -A POSTROUTING -p 47 --src $false_ip -j SNAT --to-source $real_ip    
/sbin/iptables -A INPUT -p 47 -j ACCEPT

运行此结果会导致没有该名称的链/目标/匹配。 你能告诉我我做错了什么吗?我在正确的轨道上吗?

linux nat
  • 4 个回答
  • 22280 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve