服务器管理员

系统和网络管理员的问答

3
apache2.4 mod_rewrite排除特定别名directroy / uri
我在一个虚拟主机上进行了以下设置: ...<VirtualHost *:80> ServerName cloud.domain.de ServerAdmin webmaster@domain.de ServerSignature Off Alias "/.well-known/acme-challenge" "/var/www/domain.de/vh-www/htdocs/public/.well-known/acme-challenge" <Directory "/var/www/domain.de/vh-www/htdocs/public/.well-known/acme-challenge"> Require all granted ForceType 'text/plain' </Directory> <ifmodule mod_rewrite.c> RewriteEngine On RewriteCond %(REQUEST_URI) !/\.well\-known/acme\-challenge/?.* RewriteCond %{HTTPS} off # RewriteRule ^\.well-known/acme-challenge/([A-Za-z0-9-]+)/?$ - [L] RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </ifmodule>... 我要实现的是,http://cloud.domain.de/.well-known/acme-challenge/访问URL时,mod_rewrite不会重写URL 。 我已经尝试了不同的方法,其中一种是上面已注释掉的RewriteRule,但似乎没有任何效果:服务器每次都将其重写为https。 当出于测试目的而禁用重写时,可以很好地访问别名URL。 如何实现特定的URL不被重写?

2
如何使用Google Authenticator为基于.ovpn文件的openVPN访问启用2要素身份验证?
我有一个openVPN设置,其中用户在运行openVPN的Debian VM上没有外壳帐户。我在Googling上找到的所有文章都包含为经典* nix用户设置Google Authenticator的说明(例如,需要在用户的主目录中执行Authenticator二进制文件)。 是否有文档说明如何为仅基于.ovpn客户端使用的文件进行身份验证的openvpn服务器集成Google Authenticator ? 我看了https://github.com/evgeny-gridasov/openvpn-otp,但是它仍然需要配置Google Authenticator。

1
生产mongoDB集群的最低服务器数量是多少?
在生产集群体系结构的mongoDB文档中,我读到运行的生产mongoDB集群的最小服务器数量为7: 是否可以在同一服务器上共享路由器,配置服务器和分片(共有3台服务器,每台服务器分别具有路由器,配置和分片服务)?
11 cluster  mongodb 

2
为什么在主管中使用`bash -c`而不是直接调用脚本?
我开始使用它supervisord来控制服务器中的服务。我不是Linux的专业用户,但是可以很好地使用它并使其运行。 出于好奇,我已经注意到,supervisor中的大多数命令看起来像这样: [program:install] command=bash -c "/src/etc/install.sh" 我已经读过bash的手册,并且知道-c应该使用该变量来插入在字符串之后传递的变量。 因此bash -c,考虑到没有传递/使用的变量,在超级用户(或其他任何地方)中使用而不是直接调用脚本(如下面的示例)有什么意义? [program:install] command=/src/etc/install.sh 谢谢!

1
删除“孤立的” libvirt快照
我正在尝试按照此过程使用KVM进行实时快照。 我一定在某种程度上搞砸了,因为我处于一种我不了解的状态。 我的VM被称为prod。它是在file中创建的/srv/vm/prod.qcow2。 显然,没有运行的快照:我正在处理基本文件。我可以猜测,因为文件的修改日期/srv/vm/prod.qcow2每分钟左右更改一次。此外,此命令可以确认: # virsh domblklist prod Target Source ------------------------------------------------ vda /srv/vm/prod.qcow2 并没有什么可以阻止的: # virsh blockcommit prod vda --active --pivot error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file 但是,libvirt会跟踪旧快照: # virsh snapshot-list prod Name Creation Time State ------------------------------------------------------------ snap 2015-06-09 12:11:33 +0200 disk-snapshot 它的描述符文件是/var/lib/libvirt/qemu/snapshot/prod/snap.xml: …

2
尾接AWS CloudWatch日志组
我有一个日志组,其中包括几个日志流(来自多个EC2实例)。有什么方法可以简单地“尾随”组中的合并日志吗?如果单击显示统一日志的“搜索事件”,但跳转到日志末尾的按钮将显示为灰色。我必须手动插入日期和时间。我也尝试了aws cli,但是aws logs get-log-events需要指定一个日志流名称。

3
keepalived VRRP_script无法故障转移
因此,我在两台服务器上运行keepalived,但无法将其故障转移到另一台服务器。 下面,我对其中一台服务器进行配置。两者之间的唯一区别是优先级数字主机为110,优先级为109。 但是,当我使用/etc/init.d/process stop停止我的进程时,keepalived不会故障转移。我只是得到了VRRP_Script(chk_script)失败而已。没有故障转移或什么都没有。 vrrp_script chk_script { script "/usr/local/bin/failover.sh" interval 2 weight 2 } vrrp_instance HAInstance { state BACKUP interface eth0 virtual_router_id 8 priority 109 advert_int 1 nopreempt vrrp_unicast_bind 10.10.10.8 vrrp_unicast_peer 10.10.10.9 virtual_ipaddress { 10.10.10.10/16 dev eth0 } notify /usr/local/bin/keepalivednotify.sh track_script { chk_script weight 20 } } 这是我的下面的chk_script。当我执行killall -0进程作为脚本时,也会发生相同的问题。 !/bin/bash …
11 linux  keepalived 

2
为什么压缩后的SCP比没有压缩时慢?
我需要将20 GB的KVM虚拟磁盘文件从一台实验室服务器传输到另一台实验室服务器,以存储CentOS 6.5 VM的根文件系统。文件很大,而且我曾经将这样的虚拟磁盘文件压缩到几百兆字节,这一事实使我本能地启用了压缩功能,scp但是我看到传输速度相当低感到惊讶。然后,我尝试bzip2与ssh和结合使用,cat并大吃一惊。这是方法和平均吞吐量的摘要。 scp -C vm1-root.img root@192.168.161.62:/mnt/vdisks/,每秒11 MB。 bzip2 -c vm1-root.img | ssh -l root 192.168.161.62 "bzip2 -d -c > /mnt/vdisks/vm1-root.img",每秒5 MB。这个更低的结果促使人们在网上搜索。 scp -c arcfour -C vm1-root.img root@192.168.161.62:/mnt/vdisks/,每秒13 MB。在serverfault的一个答案-c arcfour中建议使用as 。它几乎没有帮助。最后,我禁用了压缩。 scp vm1-root.img root@192.168.161.62:/mnt/vdisks/,每秒23 MB。 压缩不应该更快吗? 编辑:我不知道为什么这个问题已被否决。我认为这里有一些要学习的东西。 ssh(1)从@sven 收到手册页提示后,我尝试了几种不涉及压缩的文件传输替代方法,两种方法均具有较好的效果。 cat vm1-root.img | ssh -l root 192.168.161.62 "cat > /mnt/vdisks/vm1-root.img",每秒26 …
11 ssh  scp  file-transfer 

3
libcurl.so.4没有可用的版本信息
curl: /usr/local/lib/libcurl.so.4: no version information available (required by curl) 这是我得到的错误。此错误并未阻止任何脚本或应用程序运行或执行其任务,但是无论何时使用curl,我都会从系统收到电子邮件。 我有经常执行的Cron工作。每隔几分钟,有些会更长,而我收到的电子邮件中会包含该错误行。我已经从字符串及其变体中搜索到了地狱。但是,我找不到任何有用的东西。 我所做的事情:删除了文件/usr/local/lib/libcurl.so.4,这使错误消失并且curl仍然没有问题。大约24-48小时后,文件将返回,弹出回到该文件夹​​,我将不得不重新删除它。我知道这不是正确的做法,但是我不确定还有其他事情要做。 / usr / local / lib /的内容 libcurl.a libgcrypt.la libgpg-error.la libruby-static.a python2.7/ weechat/ libcurl.la libgcrypt.so libgpg-error.so node_modules/ python3.4/ libcurl.so libgcrypt.so.20 libgpg-error.so.0 pkgconfig/ ruby/ libcurl.so.4.3.0 libgcrypt.so.20.0.3 libgpg-error.so.0.15.0 postsrsd/ site_ruby/ 已安装的软件包: $ apt --installed list | grep 'curl' curl/trusty-updates,trusty-security,now 7.35.0-1ubuntu2.5 …
11 ubuntu  curl 

1
ADFS-仅限广告组
我刚刚实现了ADFS服务器,以通过SAML 2.0将第三方聊天工具与Active Directory连接起来。 到目前为止,一切正常,但是有一个小问题:用户登录后,聊天工具会自动为他创建一个帐户。这是一个问题,因为每个帐户都会产生费用。 有什么方法可以将ADFS的使用限制为AD组?

4
如何使用非捆绑式Web服务器设置Gitlab-omnibus?
安装 我gitlab通过debian 7(版本7.8.1-omnibus-1_amd64.deb)上的omnibus软件包安装了该软件包; 如使用非捆绑式Web服务器中所述更改设置 运行reconfigure命令:(sudo gitlab-ctl reconfigure完成,没有错误)。 Nginx的 nginx除了软件包可能使用以下/etc/gitlab/gitlab.rb文件创建的内容外,我没有为此gitlab配置: external_url 'http://git.mydomain.fr' web_server['external_users'] = ['www-data'] nginx['enable'] = false ci_nginx['enable'] = false 日志 /var/log/nginx/gitlab_error.log 2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream : "http://x.x.128.194:80/", host: "git.mydomain.fr" /var/log/nginx/gitlab_access.log …

3
使用芹菜运行多个工人
我需要从Rabbitmq中读取并使用Celery在单个系统中并行执行任务。 [2014-12-30 15:54:22,374: INFO/Worker-1] ... [2014-12-30 15:54:23,401: INFO/Worker-1] ... [2014-12-30 15:54:30,878: INFO/Worker-1] ... [2014-12-30 15:54:32,209: INFO/Worker-1] ... [2014-12-30 15:54:33,255: INFO/Worker-1] ... [2014-12-30 15:54:48,445: INFO/Worker-1] ... [2014-12-30 15:54:49,811: INFO/Worker-1] ... [2014-12-30 15:54:50,903: INFO/Worker-1] ... [2014-12-30 15:55:39,674: INFO/Worker-1] ... [2014-12-30 15:55:41,024: INFO/Worker-1] ... [2014-12-30 15:55:42,147: INFO/Worker-1] ... 它仅接缝始终有一名工人在运行..即,依次接一个接一个地工作。如何配置Celery以运行多个工作程序以并行运行?
11 python  celery 

1
SSH over VPN连接
我们有一个AWS EC2服务器,我们已将其配置为只能从我们的办公室网络内(通过SSH)访问。显然,对于需要有人连接到EC2实例并在办公室外(例如出差期间)远程工作的远程安排,这不是理想的选择。 我已经设法通过PPTP设置了VPN,并且无论我身在何处,都可以连接到办公网络(我从wlan0有两个本地IP,从ppp0有一个本地IP)。但是,当我SSH到EC2实例时,它仍然很有可能拒绝我,因为它看到我仍在尝试从网络外部进行ssh。 我想问题是我无法路由ssh流量通过VPN。有什么想法我可以做到这一点吗? 我的另一个选择是将SSH切换到办公室网络中的一台机器,然后使用该机器SSH到EC2实例,但是由于这样做似乎过于冗长,我一直很犹豫。
11 ssh  vpn  pptp 

2
使用Samba加密SMB流量
我们在Ubuntu 14.04 LTS上使用Samba作为具有漫游配置文件的PDC(主域控制器)。一切正常,除非我们尝试通过设置来实施加密: server signing = mandatory smb encrypt = mandatory 在[global]/etc/samba/smb.conf 的部分中。这样做之后,赢得8.0并赢得8.1个客户端(没有尝试过其他任何客户端)抱怨:Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden.此文本的英文翻译:The trust relationship between this workstation and the primary domain could not be established. 如果再加上两个选项server signing,并smb encrypt仅向[profiles]smb.conf文件的部分,则tcpdump显示,实际流量是不加密的! 完整的smb.conf: [global] workgroup = DOMAIN server string = %h …

3
使用cloudflare的Flexible SSL进行重定向循环
我正在尝试实施CloudFlare提供给我的网站的Flexible SSL。 这是我的nginx配置: # PHP-FPM upstream; change it accordingly to your local config! upstream php-fpm { server 127.0.0.1:9000; } server { listen 80; server_name example.com www.example.com; return 301 https://$server_name$request_uri; } server { ## Listen ports listen 443; # use _ if you want to accept everything, or replace _ with …
11 nginx  cloudflare 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.