小编moh*_*ium的帖子

Apache proxy_http 重定向到 ip 并设置主机名

希望你们能帮助我解决我遇到的代理问题。

我已经拥有的

我已经设置了一个 apache http 反向代理,将请求从 *.proxy.domain 代理到 *.intern.domain。apache 是从外部网络访问我的内部 web 应用程序的唯一方法。

例子:

app.proxy.domain -> app.intern.domain
mail.proxy.domain -> mail.intern.domain
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但我有以下问题。

问题
我想代理以下请求:

app.proxy.domain -> app.internal.domain
app-dev.proxy.domain -> app-dev.internal.domain
Run Code Online (Sandbox Code Playgroud)

这没问题,但不幸的是 app-dev 服务器运行 app 服务器 webapplication 的精确副本,并且这个 webapplication 只响应它的主机名(app.intern.domain)

所以我需要做的是代理以下内容

app.proxy.domain -> app.internal.domain (10.0.1.1)
app-dev.proxy.domain -> app.internal.domain (10.0.1.2)
Run Code Online (Sandbox Code Playgroud)

我可以通过在 /etc/hosts 中添加“10.0.1.2 app.internal.domain”来做第二件事,但这也意味着 app.proxy.domain 将登陆开发服务器。

我正在寻找一个选项,仅在 app-dev.proxy.domain 的 vhost 配置文件中设置 /etc/hosts 条目,以便所有其他 vhost 配置都将仅使用 app.intern.domain 的 DNS。

想法...

有没有办法告诉 apache 配置,

ProxyPass / http://10.0.1.2/
Run Code Online (Sandbox Code Playgroud)

但是发送 app.intern.domain 作为主机名?

编辑 dev-servers 网络应用程序以收听 app-dev 是没有选择的,因为它应该是一个精确的副本(不是我的决定......)

谢谢!

reverse-proxy hostname http-headers apache-2.2

20
推荐指数
1
解决办法
5万
查看次数

带有 SNI 和不同 SSL 设置的 HAProxy

我的两个站点都有 HAProxy,其中一个是公共站点,一个是私有站点。

www.mysite.com private.mysite.com

Atm,我正在使用这样的 haproxy:

frontend mysite_https
  bind *.443 ssl crt /etc/mycert.pem ca-file /etc/myca.pem verify optional no-sslv3
  mode http
  acl domain_www     hdr_beg(host) -i www.
  acl domain_private hdr_beg(host) -i private.
  acl path_ghost     path_beg         /ghost/
  acl clientcert     ssl_c_used

  redirect location https://www.example.com if path_ghost !clientcert
  redirect location https://www.example.com if !domain_www !clientcert

  use_backend bknd_private if domain_private
  use_backend bknd_www     if domain_www

  default_backend bknd_www
Run Code Online (Sandbox Code Playgroud)

这应该做的是要求客户端证书(可选)并继续。如果域不是 www.example.com 且访问者无法提供正确的证书或路径为 /ghost/ 且访问者无法提供正确的证书,则应重定向到https://www.example.com

So far, this works fine. However, I got complaints by Mac users browsing my site …

ssl haproxy sni

9
推荐指数
2
解决办法
2万
查看次数

salt命令中minion的主机名

我对盐相当陌生,所以我可能错过了一些东西,但我无法弄清楚。

我使用 salt 作为命令执行工具(目前没有配置管理)。我找不到一种方法来使用盐从仆从中获取配置并将它们放入 git 存储库中。

我最终试图实现的是给盐主一个像这样的配置文件列表

/etc/ssh/ssh_config
/etc/vim/vimrc
etc.
Run Code Online (Sandbox Code Playgroud)

并让 salt-master 运行获取这些文件,把它放在像这样的文件夹中

/srv/salt/minions/configs/minion01/etc/ssh/ssh_config
/srv/salt/minions/configs/minion02/etc/ssh/ssh_config
Run Code Online (Sandbox Code Playgroud)

然后我可以让主将整个内容推送到我们的 git 服务器并让所有配置版本化。

我知道 salt 可以处理状态,但我发现的一切都是将文件从 master 推送到 minion 以保持应有的状态,但我只想从所有服务器收集所有更新配置并自动对其进行版本控制.

有一个命令叫

salt \* cp.push /etc/ssh/ssh_config
Run Code Online (Sandbox Code Playgroud)

将配置文件推送到 /var/cache/salt/minion/minion01/files/etc/ssh/ssh_config,这看起来很完美,但我不知道如何在文件更改时告诉 salt 这样做(我们有很多一些服务器和许多版本的配置......)并且只在它发生变化时才获取它,所以我不必每五分钟左右获取所有文件(通过cron)。

任何人都知道如何用盐来做到这一点?

问候, 莫尔菲姆

git configuration-management saltstack

2
推荐指数
1
解决办法
6516
查看次数