小编slm*_*slm的帖子

SELinux启用时,proxy_pass无法正常工作,为什么?

我正在使用端口8080上的端口8081和Nginx监听应用程序.代理传递语句如下所示:

$ cat /var/etc/opt/lj/output/services/abc.servicemanager.conf

location /api/abc.servicemanager/1.0 { proxy_pass     http://localhost:8081;}
Run Code Online (Sandbox Code Playgroud)

nginx.conf,我将此文件包含为:

include /etc/nginx/conf.d/services/*.conf;
Run Code Online (Sandbox Code Playgroud)

/etc/nginx/conf.d/service是一个符号链接:

# ll /etc/nginx/conf.d/

lrwxrwxrwx. 1 root root   39 Dec 10 00:19 services -> ../../../var/etc/opt/lj/output/services
Run Code Online (Sandbox Code Playgroud)

这是一个CentOS 7.0 SELinux Enabled系统.如果我setenforce 0,并使它Permissive,我没有看到任何问题.所以文件在正确的位置,路径没有问题.如果SELinux正在执行,我在审计日志中看到以下内容:

type=AVC msg=audit(1418348761.372:100930): avc:  denied  { getattr } for  pid=3936 comm="nginx" path="/var/etc/opt/lj/output/services/abc.servicemanager.conf" dev="xvda1" ino=11063393 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=file
Run Code Online (Sandbox Code Playgroud)

我想知道如何启用Nginx来查找conf文件而无需禁用SELinux.

reverse-proxy nginx selinux

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

如何检查终端中的HZ?

我已经看过这个http://kaasxxx.wordpress.com/2008/01/22/linux-hz-checker/ 但是剧本似乎没有用.无论如何知道在Linux终端中检查"HZ"的简单方法吗?

linux clock

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

HAProxy随机HTTP 503错误

我们设置了3台服务器:

  • 服务器A使用Nginx + HAproxy来执行负载平衡
  • 后端服务器B.
  • 后端服务器C.

这是我们的/etc/haproxy/haproxy.cfg:

global
        log /dev/log   local0
        log 127.0.0.1   local1 notice
        maxconn 40096
        user haproxy
        group haproxy
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout      50000
        clitimeout      50000
        srvtimeout      50000
                stats enable
                stats uri /lb?stats
                stats realm Haproxy\ Statistics
                stats auth admin:admin
listen statslb :5054 # choose different names for the 2 nodes
        mode http
        stats enable
        stats hide-version
        stats realm Haproxy\ Statistics
        stats uri …
Run Code Online (Sandbox Code Playgroud)

haproxy

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

如何在OpenTSDB和InfluxDB或其他TSDS之间做出选择?

它们都是开源的分布式时间序列数据库,用于度量的OpenTSDB,用于度量的InfluxDB和没有外部依赖性的事件,在另一个基于HBase的OpenTSDB上.

他们之间还有其他任何比较吗?

如果我想实时存储和查询指标,没有基于时间序列的恶化损失,那会更好吗?

graphite opentsdb influxdb

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

删除Hbase中所有表的脚本

我可以告诉hbase使用以下命令禁用和删除特定的表:

disable 'tablename'
drop 'tablename'
Run Code Online (Sandbox Code Playgroud)

但我想删除数据库中的所有表,而不是硬编码任何表的名称.有没有办法做到这一点?我想通过命令行实用程序执行此操作./hbase shell,而不是通过Java或Thrift执行此操作.

command-line hbase

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

如何在WebSphere上为远程EJB调用启用Kerberos身份验证?

由于经典的JNDI查找和RMI-IIOP方法调用,我的应用程序是一个独立的Swing客户端调用EJB无状态会话bean.它作为Java WebStart应用程序启动.我的目标是从获取客户端用户的身份EJBContextgetCallerPrincipal感谢的Kerberos SSO在Windows工作站,ActiveDirectory中和在Linux上运行的WebSphere服务器之间的方法.

由于信息中心文档,我已经在网络部署模式下成功配置了我的WebSphere单元以支持Kerberos身份验证.

这两个krb5.confkrb5.keytab文件都OK,并在Linux测试kinit,klist并且wsadmin,$AdminTask validateKrbConfig解答true.

客户端安装不只是指JAAS login.config文件,以实现与指挥系统属性.我的直觉告诉我这可能还不够.

但现在,我找不到更多信息来完成测试用例:

  • 如何设置JNDI初始上下文环境以触发Kerberos协商?
  • 如果服务器端有其他要求,比如用角色保护我的EJB(例如JBoss不需要它)?

更新

由于没有运行JavaEE客户端容器./launchClient,我在JNLP中设置了要读取的必需属性sas.client.props和JAAS登录配置:

<property name="java.security.auth.login.config" value="C:\temp\wsjaas_client.config"/>
<property name="com.ibm.CORBA.ConfigURL" value="C:\temp\sas.client.props"/>
Run Code Online (Sandbox Code Playgroud)

wsjaas_client.config是针对Oracle Java的,因此它包含:

WSKRB5Login{
    com.sun.security.auth.module.Krb5LoginModule required
       debug=true useTicketCache=true doNotPrompt=true;
};
Run Code Online (Sandbox Code Playgroud)

我的sas.client.props包含:

com.ibm.CORBA.securityEnabled=true
com.ibm.CORBA.authenticationTarget=KRB5
com.ibm.CORBA.loginSource=krb5Ccache
com.ibm.CORBA.loginUserid=
com.ibm.CORBA.loginPassword=
com.ibm.CORBA.krb5CcacheFile=
com.ibm.CORBA.krb5ConfigFile=C:\\temp\\krb5.conf
Run Code Online (Sandbox Code Playgroud)

目前,没有触发Kerberos身份验证:WAS/myserver.mydomain.com我的kerberos缓存(来自Windows或Linux工作站)中的SPN没有TGS,并且仍然匿名建立JNDI连接.

没有错误消息,没有警告,最后没有委托人.我如何诊断错误或缺乏?

更新2012/06/20

这是向前迈出的一步.在我的应用程序JNLP中运行Oracle Java,我已设置以下属性以使用IBM ORB并启用完整的跟踪和调试信息:

<property name="org.omg.CORBA.ORBSingletonClass" value="com.ibm.rmi.corba.ORBSingleton"/>
<property name="org.omg.CORBA.ORBClass" value="com.ibm.CORBA.iiop.ORB"/> …
Run Code Online (Sandbox Code Playgroud)

java websphere ejb kerberos java-ee

14
推荐指数
2
解决办法
4861
查看次数

haproxy匹配use_backend中的各种条件

我正在尝试匹配一个后端内的各种条件,如下所示:

acl rule1 hdr_dom(host) -i ext1
acl rule2 utl_beg /img
default_backend back-server-http if rule1 and rule2
Run Code Online (Sandbox Code Playgroud)

但是,我怎么能把这个"和"放在两个规则之间呢?

proxy haproxy

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

为什么内核映射到与进程相同的地址空间

这是一个要详细阐述这个问题的问题:为什么内核被称为进程地址空间?

这可能是一个愚蠢的问题,但它只是突然出现在我的脑海里.所有关于进程地址空间和虚拟内存布局的文本都提到进程地址空间有为内核保留的空间.例如,在32位系统上,进程地址空间为4GB,其中1GB为Linux中的内核保留(在其他操作系统上可能不同).

我只是想知道为什么当进程无法直接处理内核时,内核被称为进程地址空间.为什么我们不说内核有一个单独的地址空间而不是一个进程?为什么我们不能为内核本身提供一个与进程的页表分开的不同的页表?

我可以获得有关linux(debian或ubuntu)特定操作系统的解释.

linux operating-system kernel memory-management

14
推荐指数
3
解决办法
9973
查看次数

setrlimit失败,在valgrind下运行时不允许操作

我可能会遗漏某些东西或者可能没有,但是setrlimit当在valgrind下运行时,函数会一直失败

int main()
{
        const struct rlimit file_limits = { .rlim_cur = 65536, .rlim_max = 65536 };
        if ( setrlimit( RLIMIT_NOFILE, &file_limits ) )
        {
                printf(" Failed  %d", errno );
                perror(" More " );
        }
        else
        {
                printf(" Success ");
        }
        printf("\n");
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下是样本运行

正常运行

sh-4.2# ulimit -H -n
800000
sh-4.2# ulimit -S -n
500000
sh-4.2# ./rlimit
 Success
sh-4.2#
Run Code Online (Sandbox Code Playgroud)

在valgrind

sh-4.2#
sh-4.2# valgrind ./rlimit
==28974== Memcheck, a memory error detector
==28974== Copyright (C) 2002-2015, and GNU …
Run Code Online (Sandbox Code Playgroud)

c linux valgrind centos

14
推荐指数
1
解决办法
1878
查看次数

CoreOS - 通过PID获取docker容器名称?

我有一个PID列表,我需要获取他们的docker容器名称.走向另一个方向很容易...通过图像名称获取docker容器的PID:

$ docker inspect --format '{{.State.Pid}}' {SOME DOCKER NAME}
Run Code Online (Sandbox Code Playgroud)

知道如何通过PID获取名称吗?

linux bash docker coreos nsenter

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