AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-41952

dzhi's questions

Martin Hope
dzhi
Asked: 2018-01-30 13:20:00 +0800 CST

使用 iptables 规则不适用于 Docker 容器

  • 4

只需设置一个 ElasticSearch 容器即可与公司的 Laravel 应用程序一起使用。创建 docker-compose.yml 并运行它是完美而直接的,但是当我想为这个东西设置防火墙以便它只能从提到的 Laravel 应用程序的一个特定 IP 访问时,就会出现问题。

在研究过程中,我注意到很多人都遇到了这些问题,即 Docker 转发的端口流量完全暴露给公众,并且他们无法正确设置防火墙。

我在过去 6 小时内找到了几个解决方案,但没有一个有效。我认为这与 Docker 处理/转发入站流量的方式有关,而且我的 iptables 知识并不丰富,因此我可以自己理解正在发生的事情。

这是我的 docker-compose.yml (物有所值):

version: '3.4'

services:

  elasticsearch:
    image: khezen/elasticsearch:6.1.1
    container_name: elasticsearch

    environment:
      NETWORK_HOST: 0.0.0.0
      HOSTS: 127.0.0.1
      CLUSTER_NAME: fd-es
      NODE_NAME: node-1
      HEAP_SIZE: 31g
      HTTP_SSL: "true"
      ELASTIC_PWD: "somepasswd"
      HTTP_CORS_ENABLE: "true"
      HTTP_CORS_ALLOW_ORIGIN: /https?:\/\/localhost(:[0-9]+)?/

    ulimits:
      memlock:
       soft: -1
       hard: -1

    volumes:
      - ./config/elasticsearch.yml:/elasticsearch/config/elasticsearch.yml
      - ./data:/elasticsearch/data
      - ./logs:/elasticsearch/logs

    ports:
      - 9200:9200

    networks:
      - es-network

    restart: always

networks:
  es-network:
    driver: bridge

这些是我目前使用的 iptables 规则,这在某种程度上是我想要的,但仍然允许从任何客户端到端口 9200 的所有流量通过,而不是只能从我的应用程序访问:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [779:162776]
:DOCKER - [0:0]
-A DOCKER -s xxx.xxx.xxx.xxx -p tcp -m tcp --dport 9200 -j ACCEPT
-A DOCKER -o docker0 -p tcp -m tcp --dport 9200 -j ACCEPT
-A DOCKER -p tcp --dport 9200 -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 44344 -j ACCEPT
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A INPUT -j DROP

我尝试禁用 Docker 的 iptables 支持并禁用桥接网络并调整 iptables 规则几十次,但无济于事。

我很感激任何建议和帮助来实现这一点,因为我没有这个问题的想法和搜索结果。

提前致谢!

networking
  • 3 个回答
  • 16352 Views
Martin Hope
dzhi
Asked: 2015-07-22 11:36:41 +0800 CST

方便的 WordPress Web 目录权限?

  • 0

我正在为 WordPress 设置网络服务器。

WordPress 要求它的东西必须由 www 用户拥有,否则在安装插件和主题时遇到问题(要求服务器 FTP 凭据,这很愚蠢,我知道)。

这不是问题,但我想给一个 ssh 用户一个空的 WWW 目录,这样他们就可以自己下载/解包/设置 WordPress(放手方法)。

在他们下载并解压 WordPress 存档后,所有文件都归该特定用户所有,并且由于已经提到的原因,他们在管理插件/主题安装或更新时遇到了问题。

实现这两个目标的最方便和安全的方法是什么,让用户有宾至如归的感觉并安装完整的 WordPress?

似乎 setfacl 可能是一个不错的解决方案,让一个目录下的所有新东西都继承我设置的权限。

任何人都可以提供有关如何实现我想要实现的目标或什至引导我走向其他方向的提示或建议吗?

我将 Nginx 与 PHP-FPM 一起使用。

谢谢!

nginx
  • 3 个回答
  • 197 Views
Martin Hope
dzhi
Asked: 2014-08-14 22:27:08 +0800 CST

MariaDB 服务不会在 FreeBSD 监狱中启动

  • -2

只需设置一个运行 databases/mariadb55-server 的专用数据库监狱,由于某种原因,它不会按需启动,也不会在启动时启动。

有什么建议么?

# service mysql-server start
Starting mysql.
/usr/sbin/daemon: Permission denied
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql

不确定此错误指的是什么权限。

我的环境:

# env
USER=root
LOGNAME=root
HOME=/root
SHELL=/bin/csh
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=en_US.UTF-8
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
TERM=screen-256color
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/var/db
GROUP=wheel
HOST=db

另一个问题是,为什么 mariadb55-server 不尊重 /usr/local/etc/my.cnf 而使用 /var/db/mysql/something ?

mysql
  • 1 个回答
  • 1027 Views
Martin Hope
dzhi
Asked: 2014-08-05 22:16:21 +0800 CST

FreeBSD Apache 2.4 重写/代理模块错误

  • 0

只需设置一个 FreeBSD 监狱来在其中运行 httpd,除了这两个 rewrite/proxy 模块外,一切都很好。

这些是错误日志摘录:

mod_rewrite错误:

[rewrite:crit] [pid 43447] (13)Permission denied: AH00666: mod_rewrite: could not init rewrite_mapr_lock_acquire in child

mod_proxy错误:

[proxy:crit] [pid 43447] (13)Permission denied: AH02479: could not init proxy_mutex in child

当这些模块被禁用时,不确定文档根目录中的 html 被拒绝的权限是否正常。

我试着用谷歌搜索,但除了垃圾什么也没找到。

apache-2.2
  • 2 个回答
  • 655 Views
Martin Hope
dzhi
Asked: 2014-06-09 04:55:07 +0800 CST

从 SVN 源重新编译 FreeBSD-10 版本

  • 0

我在我的服务器上运行 10.0-RELEASE,我想知道一些事情。

如果我使用来自 svn 的官方源代码来构建世界,我将来是否可以使用 freebsd-update 进行升级,或者我必须使用这两种升级方法(二进制或 src)中的一种来解决?

谢谢

bsd
  • 2 个回答
  • 174 Views
Martin Hope
dzhi
Asked: 2013-03-22 12:58:53 +0800 CST

Apache 在默认情况下工作时不会在 VHOST 上解析 PHP

  • 0

我设置了一个 Debian 6 VPS 来托管几个小网站,它在默认网站上运行得很好。

接下来我创建了新用户并复制/粘贴默认 vhost 文件并使用a2ensite启用它并且只为该新用户相应地调整路径但由于某些原因未解析 PHP 文件并且仅显示它们的源。

所以,回顾一下:相同的虚拟主机设置,启用 PHP 模块,打开短标签(但未使用)

明确地说:我在这里和其他地方的网络上搜索并找到了一堆“解决方案”,但这些似乎都不适合我。

刚刚在日志中注意到这个字符串:

PHP Fatal error:  Unknown: Failed opening required '/home/tester/public_html/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

[Thu Mar 21 20:28:55 2013] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  Unknown: open_basedir restriction in effect. File(/home/tester/public_html/index.php) is not within the allowed path(s): (/home/user/public_html:/tmp) in Unknown on line 0

这是我的默认虚拟主机文件内容:

<VirtualHost *:80>

        ServerAdmin [email protected]
        ServerName domain.com
        ServerAlias www.domain.com
        DocumentRoot /home/user/public_html/
        ErrorLog /home/user/logs/error.log
        CustomLog /home/user/logs/access.log combined

        <Directory "/home/user/public_html">
        AllowOverride All
                php_admin_flag engine on
                php_admin_value open_basedir "/home/user/public_html:/tmp"
        </Directory>

</VirtualHost>

PHP 的open_basedir会是这个问题的罪魁祸首吗?

apache-2.2
  • 2 个回答
  • 3907 Views
Martin Hope
dzhi
Asked: 2013-01-31 02:17:40 +0800 CST

HOWTO:Apache 索引页面横幅?

  • 1

我希望 Apache 索引页面显示我公司的横幅,并在顶部链接到主页。

代替:

Index of /pub/something

以显示

[Company Banner]
Index of /pub/something

我将这些行添加到.htaccess:

HeaderName HEADER.html 
ReadmeName README.html 

并编辑HEADER.html为包含带链接的横幅,但该横幅仅显示在页面上/pub,而不显示在/pub/dir页面上。

这是我目前在 .htaccess 中的内容:

Options +Indexes
HeaderName HEADER.html
ReadmeName README.html
apache-2.2
  • 1 个回答
  • 2075 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve