问题列表 - 第4964页

systemctl 启动后立即停止 Tomcat 服务

我首先在 StackOverflow 上问了这个问题,但似乎这个网站更合适。

我正在设置一个 Web 应用程序环境来运行 Java 应用程序。环境应该是:

  • AWS EC2 Ubuntu 18
  • 爪哇8
  • 雄猫9

我启动了 EC2 实例并安装了 java,然后按照本指南设置 Tomcat: https: //www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804

systemctl现在,当尝试启动/重新启动 Tomcat 服务时,问题就会出现。这是我在检查 systemctl 日志时看到的内容:

12 月 19 日 13:35:25 ip-10-165-10-74 systemd[1]: tomcat.service: 服务延迟时间结束,计划重新启动。
12 月 19 日 13:35:25 ip-10-165-10-74 systemd[1]: tomcat.service: 计划重启作业,重启计数器为 5。
12 月 19 日 13:35:25 ip-10-165-10-74 systemd[1]:已停止 Apache Tomcat Web 应用程序容器。
12 月 19 日 13:35:25 ip-10-165-10-74 systemd[1]:启动 Apache Tomcat Web 应用程序容器...
12 月 19 日 13:35:25 ip-10-165-10-74startup.sh[1705]:Tomcat 已启动。
12 月 19 日 13:35:25 …

linux ubuntu tomcat amazon-web-services systemctl

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

增加ZFS分区使用整个磁盘

我有一个当前占用 100Gb 的 ZFS 池。我将磁盘大小增加到 150Gb,但似乎无法让 ZFS 使用整个磁盘。

我有一个完全相同的问题,昨天与另一台服务器,并有有一定的混合物zpool set autoexpand=onzpool export|importzpool online -e和重启让我来解决它。但是无论我做什么,在当前服务器中都不起作用

有问题的设备是 sdb,您可以从下面的 lsblk 中看到,可用 150Gb 中的分区只有 100Gb。

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0  150G  0 disk
??sdb1    8:17   0  100G  0 part
??sdb9    8:25   0    8M  0 part

root@http-server-2:/home# parted -l
Model: Google PersistentDisk (scsi)
Disk /dev/sdb: 161GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system  Name …
Run Code Online (Sandbox Code Playgroud)

zfs

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

RHEL/CentOS - remi repo 对审计等安全吗?

我们最近通过了 SOCII 1 类审核,并且正在通过 2 类审核。在我们的一些生产服务器上,我想推送一些应用程序的更新版本,我看到人们经常提到remirepo。我不想做的是危及我们对任何事情的遵守。我花了一段时间才让他们允许epel。值得追求remi吗?

repository rhel7 centos7

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

如何在私有 IP 上实施 SSL?

我正在开发一个网络管理产品。我们将产品作为虚拟机交付给客户,他们将其安装在网络中的虚拟机管理程序上。这些虚拟机在客户网络中获得静态私有 IP 地址。他们监视客户的设备,并运行显示网络状态的 (Apache/Django) Web 服务器。客户通过私有 IP 访问该站点,而我们直接使用 TeamViewer(在发货前安装)访问虚拟机,因此不涉及公共 IP 或域名。我们非常希望在我们的虚拟机上提供 SSL 证书,以便客户不再看到我们的网站不安全的通知(当然,这样我们的网站就不再不安全)。最好,客户不必添加对新 CA 的信任或向其浏览器添加安全例外。

最有效且最具成本效益的方法是什么?我尝试过LetsEncrypt,但他们只支持域名证书,不支持IP。

ssl django

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

Docker 18.09 不使用 IPv6(在 Ubuntu 18.04 上)

全新且完全打补丁的 Ubuntu 18.04 实例(在 Linode VPS 上),带有从官方 Docker 存储库安装的 Docker 18.09.0(构建 4d60db4)。

IPv4 网络运行良好,无论是在容器之间还是内部到外部(一旦我设置了net.ipv4.ip_forward=1)。

然而,IPv6 甚至不会在容器之间进行通信,更不用说在外部进行通信了。

我尝试了很多东西,但发现本指南是最好的(除了它不起作用:-))

因此我有...

更新/etc/docker/daemon.json了以下内容并重新启动:

{
“ipv6”: true,
“fixed-cidr-v6”: “2001:db8:1::/64”
}
Run Code Online (Sandbox Code Playgroud)

检查了 MTU。

运行两个 docker 容器来测试这个:

sudo docker run -itd ajeetraina/ubuntu-iproute bash
sudo docker run -itd ajeetraina/centos-iproute bash
Run Code Online (Sandbox Code Playgroud)

两者都在内部显示出完美的连接性:

$ sudo docker exec -it b1cbb63b4e88 ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.3  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:acff:fe11:3  prefixlen 64  scopeid 0x20<link>
        inet6 2001:db8:1::242:ac11:3  prefixlen 64  scopeid 0x0<global>
        ether …
Run Code Online (Sandbox Code Playgroud)

ubuntu ipv6 docker ubuntu-18.04

6
推荐指数
1
解决办法
982
查看次数

请帮忙解读OOM-Killer

我们正在测试我们的 Java 应用程序,它被 OOM Killer 杀死,日志如下。

几点:这是一个java web 应用程序。它以 190G 的堆运行。服务器是一个总内存240G的EC2实例。我们正在 JDK 11 中尝试新的实验性 ZGC。当时应用程序没有负载,在类似 prod 的测试环境中运行。应用程序确实有一些由计划触发的处理,可能是内存和 CPU 密集型的,但这些处理经常运行并且没有失败。

应用程序代码与我们在生产中的代码没有显着变化。我们也成功地对此进行了负载测试,包括 12 小时的浸泡测试,没有问题。

现在到 OOM-Killer 日志。完整日志如下,但我觉得很奇怪的一件事是这一行:

Dec 18 23:24:59 ip-10-0-3-36 kernel: [  775.571217] Killed process 4973 (java) total-vm:17181703924kB, anon-rss:9740kB, file-rss:0kB, shmem-rss:0kB
Run Code Online (Sandbox Code Playgroud)

虚拟机总大小约为 17 TB。这对我来说很奇怪,因为我们的应用程序甚至不会尝试正常请求这个。我怀疑我们可能遇到了一些 ZGC 或 ZGC+我们的代码错误,但我想确保我读对了。

我非常感谢任何帮助,完整的日志供参考:

Dec 18 23:24:59 ip-10-0-3-36 kernel: [  775.158902] java invoked oom-killer: gfp_mask=0x14200ca(GFP_HIGHUSER_MOVABLE), nodemask=(null),  order=0, oom_score_adj=0
Dec 18 23:24:59 ip-10-0-3-36 kernel: [  775.166556] java cpuset=/ mems_allowed=0
Dec 18 23:24:59 ip-10-0-3-36 kernel: [  775.168975] CPU: 15 …
Run Code Online (Sandbox Code Playgroud)

linux java oom-killer

6
推荐指数
1
解决办法
3874
查看次数

Google Cloud Services - 根本无法通过 SSH 连接到实例

我无法通过 SSH 连接到 Google Cloud 服务上的实例。

我不太熟悉虚拟机管理和故障排除,但已经尝试了我所知道的一切,谷歌可以提供给我,包括:

  • 尝试从外部程序进行 SSH
  • 将磁盘复制并安装到新实例上
  • 使用串行控制台连接到两者
  • 在不同的托管位置尝试上述所有操作

无论我尝试什么,唯一的结果是一个加载符号,后跟以下内容:

到项目元数据的密钥传输花费了异常长的时间。传输到实例元数据可能会更快,但只会将密钥传输到该虚拟机。如果您希望从此虚拟机通过 SSH 连接到其他虚拟机,则需要相应地传输密钥。

我不能这样做,因为我没有 GCloud 用于 SSH 进入实例的私钥,并且使用 PuTTY 根本不起作用,因为我给服务器的任何公钥都不起作用全部。

ssh virtual-machines ssh-keys google-compute-engine google-cloud-platform

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

NGINX - OpenResty - 如何基于字符串反向代理对 2 个不同服务器的调用?

我正在尝试配置 NGINX/OpenResty 以根据 SOAP 请求上存在的字符串将 SOAP 调用代理到 ​​2 个不同的服务器。

我能做什么:我能够根据 SOAP 客户端调用的路径将请求代理到 2 个不同的服务器:

location /pathA {
    proxy_pass http://www.ServerA.com/PathA/;
}
location /pathB {
    proxy_pass http://www.ServerB.com/PathB/;
}
Run Code Online (Sandbox Code Playgroud)

我不能做什么:

我无法根据请求的内容分离流量。我认为主要原因是我无法正确组装LUA脚本来提取信息并随后使用它来代理请求。

location / {
    conten_by_lua '
        ngx.req.read_body()
        local match = ngx.re.match(ngx.var.request_body,"STRING TO FIND")
        if match then
            proxy_pass http://www.ServerA.com/PathA/;
        else
            proxy_pass http://www.ServerB.com/PathB/;
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我安装了 OpenResty 并且 LUA 工作正常。

我想我在某处读到如果请求不是 HTTP POSTngx.req.read_body()将不起作用。那是对的吗?

感谢您的帮助。

nginx lua openresty

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

调试 IIS 上的客户端证书问题

我们有一个 2008R2 IIS 服务器,其中的站点配置为需要客户端证书。我们的测试客户端无法工作,我们正在尝试调试原因。

在此过程中,我们设置了一个新的 Server 2008 R2 机器(是的,我知道它很旧,但这就是运行该软件的机器)来尝试复制或确定故障排除方法。

我们正在研究的一种途径是 TLS 握手。测试应用程序是用 .NET 编写的,并System.Diagnostics启用了适当的调试,这会将以下条目放入日志文件中:

System.Net 信息:0:[22724] SecureChannel#48979325 - 我们有用户提供的证书。服务器已指定 10 个颁发者。寻找与任何颁发者匹配的证书。

我们无法看到此发行者列表,因此我们爆发了 OpenSSL。运行以下命令:

openssl s_client -connect win2k8r2-1.hsl10690.test:443 -state -no_ticket -servername win2k8r2-1.hsl10690.test
Run Code Online (Sandbox Code Playgroud)

结果输出如下:

   [...]
-----END CERTIFICATE-----
subject=/CN=testcert.hsl10690.test
issuer=/CN=Internal Dev CA 1
---
No client certificate CA names sent
---
SSL handshake has read 1013 bytes and written 329 bytes
   [...]
Run Code Online (Sandbox Code Playgroud)

因此,我们有一个不匹配的情况,Microsoft 堆栈声明服务器指定了 10 个颁发者,但 OpenSSL 报告服务器没有发送 CA 名称。

对于实时系统,System.Diagnostics 日志报告服务器指定的 130 多个颁发者,但 OpenSSL 仍然返回零。

我们认为问题在于我们提供的客户端证书与颁发者之一不匹配(但我们已经验证了根证书位于服务器的信任存储中,并且我们已经在服务器外部验证了证书)。在实时服务器上,我们在日志中看到“服务器已指定... ”消息之后:

System.Net Information: …
Run Code Online (Sandbox Code Playgroud)

windows iis ssl client-certificate

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

为什么 Firewalld 不过滤在我的 Docker 容器中运行的服务?

从 iptables 迁移到firewalld 并使用firewall-cmd 更新规则后,我的服务被正确过滤。然后我使用 Docker 将所有服务移至容器,并使用 docker-compose 运行所有内容。

我的默认区域是“公共”。我已手动将 docker0、我的外部(以太网)接口以及 Docker 容器似乎通过 (br-304604a31e79) 与外界通信的接口添加到“公共”区域。我已运行命令将带或不带标志的接口移至“公共”区域--permanent

当我用来nmap扫描我的服务器时,Docker 容器中运行的服务仍然可以访问(仍然是“开放”,而不是“过滤”)。

为什么 Firewalld 不过滤在我的 Docker 容器中运行的服务?

firewalld docker docker-compose

4
推荐指数
1
解决办法
1008
查看次数