有没有一种简单的方法,看看我的Android设备上打开了哪些端口以及关闭开放端口的方法?
这让我疯了,但出于某种原因,我无法从外面访问某些端口.我几乎检查了所有可能的设置,但我不知道为什么这不起作用.我不知道在哪里解决这个问题(Ubuntu防火墙与Docker vs. Dovecot vs. Postfix),我真的希望你们能帮助我.
仅供参考:mycooldomain.com只是我域名的占位符,目前我不想分享.
我会为帮我解决这个问题的人买一杯啤酒!:)
简介
在我的根服务器上,我正在运行以下docker邮件服务器容器(https://github.com/tomav/docker-mailserver/),它暴露了几个端口(143,25,587,993).容器运行dovecot(IMAP)和后缀(SMTP).
TL;博士
我有上述邮件服务器(dovecot,postfix)在docker容器中运行,只能连接到一个端口(143 - IMAP).其他端口25,587和993无法从外部访问 - 仅可从主机直接访问.Docker正确公开它们并正确地列在iptables中.容器中的日志(dovecot,postfix)在请求进入时没有显示任何反应(没有被拒绝的请求或类似的东西),所以我想它们永远不会到达容器中的服务.其他docker容器端口(例如我的web服务器:80,443).
这是详细信息:
我可以直接从主机连接到每个端口(让我们测试IMAP安全端口):
mastix@localhost:~$ telnet mail.mycooldomain.com 993
Trying xxx.xxx.xxx.xxx…
Connected to mail.mycooldomain.com.
Escape character is '^]'.
220 mail.mycooldomain.com ESMTP Postfix (Ubuntu)
Run Code Online (Sandbox Code Playgroud)
但不是来自我的本地机器:
mastixmc$ telnet mail.mycooldomain.com 993
Trying xxx.xxx.xxx.xxx…
telnet:connect to address xxx.xxx.xxx.xxx: Operation timed out
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)
docker-compose ps告诉我他们暴露并正确绑定:
110/tcp,
0.0.0.0:143-143/tcp,
0.0.0.0:25->25/tcp, 4190/tcp,
0.0.0.0:587->587/tcp,
0.0.0.0:993->993/tcp, 995/tcp
Run Code Online (Sandbox Code Playgroud)
netstat -ntlp 告诉我同样的事情:
Proto Recv-Q Send-Q Local Address …Run Code Online (Sandbox Code Playgroud) 要替换遗留服务,我感兴趣的是在两个不同的HTTP端口号上有两个不同的webapp,例如,8080 - > webapp1(浏览器服务),8200 - > webapp2(REST,新版本使用RESTEasy).每个都是该端口号上的"根上下文".
这个网站上的"标准"答案与JBoss 5有关,JBoss 5是历史上的两个主要版本,并且具有大量的配置格式变化.
我正在使用JBoss AS 7.0.2.Final和"独立"部署.有人这样做,可以共享使用的配置吗?谢谢.
我想知道如何找出程序/进程使用的端口.我想知道一个进程中使用过的端口,然后在标签中写入.
有可用的单位或功能吗?
我有时会在某些平台上看到以下C或C++代码的语句:
int* ptr;
*ptr = 0;
Run Code Online (Sandbox Code Playgroud)
如果ptr碰巧存储该端口映射到的地址,则会导致写入硬件输入输出端口.通常它们被称为"嵌入式平台".
这些平台的真实例子是什么?
我有一个PHP应用程序通过端口80上的apache提供服务.我有一个nodejs应用程序在端口3000上独立运行.我想从PHP生成的客户端代码向nodejs应用程序发出ajax请求.问题是相同的源策略不允许不同的端口,我不能在端口80上运行nodejs和apache.
我理想的做法是让它们从客户端的角度看起来都在端口80上运行.如何设置apache以重新路由/别名/对nodejs应用程序的任何特定请求?
希望有道理.注意:不确定这是否可行,或者我是否以正确的方式进行 - 请接受建议.
我在C++中使用COM端口.我无法打开数字大于9的COM端口,例如10.这是用于COM端口检测的功能:
WCHAR port_name[7];
WCHAR num_port[4];
for (i=1; i<256; i++)
{
bool bSuccess = false;
wcscpy(port_name,L"COM");
wcscat(port_name,_itow(i,num_port,10));
HANDLE hPort;
//Try to open the port
hPort = CreateFile(L"COM10", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
//hPort = CreateFile(port_name, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
if (hPort == INVALID_HANDLE_VALUE)
{
DWORD dwError = GetLastError();
//Check to see if the error was because some other application had the port open
if (dwError == ERROR_ACCESS_DENIED)
{
bSuccess = TRUE;
j=j+1;
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行gitlab docker镜像,一切运行正常,但是当我导航到网站时,端口80导致"连接被拒绝",但端口8080成功到达Gitlab.
但是,它表明它在容器上从8080转发到80:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14b2ac3c0de6 gitlab/gitlab-ee "/assets/wrapper" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp gitlab
Run Code Online (Sandbox Code Playgroud)
这是我如何运行容器.
sudo docker run --detach \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
Run Code Online (Sandbox Code Playgroud) 我正在使用Apache Spark来运行机器学习算法和其他大数据任务.以前,我在同一台机器上使用运行spark master和worker的spark cluster standalone模式.现在,我添加了多个工作机器,由于防火墙严密,我必须编辑worker的随机端口.任何人都可以帮助如何更改随机火花端口,并告诉我究竟需要编辑什么配置文件?我读了spark文档,它说spark-defaults.conf应该配置,但我不知道如何配置这个文件,特别是改变spark的随机端口.
好吧所以我现在一直在寻找3-4天,我似乎无法找到我的错误的解决方案.我发现了类似的错误,有些似乎在描述我的确切问题,但没有一个解决方案有效.
我正试图让一个简单的postgres,express,节点应用程序启动并运行.我希望能够运行docker-compose up -d并让它构建所有图像,卷等.然后我将运行一个bash脚本,它将使我的postgres数据库播种数据.但是,我一直在使用我正在使用的端口出错.我删除了所有的图像,容器,甚至重新安装了docker,但我无法弄明白.除了postgres之外,我从docker-compose中删除了所有内容,但它仍然不起作用.
version: '3'
services:
postgres:
image: postgres:10.0
volumes:
- /var/lib/postgresql/data
ports:
- '5432:5432'
Run Code Online (Sandbox Code Playgroud)
然后在我的主机上,我只是计划运行以下bash脚本.
#!/bin/bash
host="postgres.dev"
adminUser="postgres"
psql -h $host -U $adminUser -c "select 1 from pg_database where datname = 'table_name';" | grep -q 1 || psql -h $host -U $adminUser -f ./"$(dirname $0)"/init-local-db.sql
Run Code Online (Sandbox Code Playgroud)
我知道这种方法应该有效,因为我在一个工作项目之后对它进行模式制作......这对他们有效.但这是我得到的错误:
ERROR: for pg-db Cannot start service postgres: driver failed programming external connectivity on endpoint pg-db (b3e5697cd563264250479682ec83d4a232d0d4bd679a787ad2089e944dda9e2f): Error starting userland proxy: listen tcp 0.0.0Creating test-api ... done
ERROR: for postgres Cannot …Run Code Online (Sandbox Code Playgroud) ports ×10
docker ×3
c++ ×2
node.js ×2
alias ×1
android ×1
apache ×1
apache-spark ×1
c ×1
containers ×1
delphi ×1
delphi-xe3 ×1
dovecot ×1
gitlab ×1
jboss7.x ×1
memory ×1
networking ×1
postfix-mta ×1
postgresql ×1
routing ×1
ubuntu ×1
worker ×1