很难理解 tomcat 文档,查看 server.xml 您会发现一堆可能难以理解的端口,因为文档中没有真正正确或广泛地解释它。
例如,配置文件中的这一行 server.xml
<Connector port="8345" protocol="AJP/1.3" redirectPort="9875" />
在这里你可以找到另一个重定向端口:
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)
我了解连接器端口的作用。在第一种情况下,您使用它在 apache 中创建一个工作程序并将其发送到那里,在第二种情况下,您打开一个端口以直接访问 tomcat。然而,当涉及到重定向端口时,事情就变得模糊了。
下面是 tomcat 文档对 ajp 端口的解释:
如果此连接器支持非 SSL 请求,并且收到匹配需要 SSL 传输的请求,Catalina 将自动将请求重定向到此处指定的端口号。
我总是选择一个超过 1024 的随机重定向端口,它可以工作,
但这什么时候会付诸实践呢?它如何知道请求何时需要 SSL 传输?
我有一个运行 tomcat 模块的卫星服务器。该模块通过将流量从主服务器重定向到带有 apache 的 ajp 连接器而生效,反之亦然。
在主服务器中,https 是在 apache 中强制执行的。这是否意味着所有请求都以加密或纯文本形式发送到卫星服务器?我知道如果我通过端口 8080 访问卫星服务器,它没有被加密,但我想知道这是否也适用于被重定向到主服务器的流量,以及这个重定向端口在哪里生效。
假设您在提供商处注册并获得以下 NS 记录:
Name Server: NS18.EXAMPLE.COM
Name Server: NS8.EXAMPLE.COM
Run Code Online (Sandbox Code Playgroud)
你能添加这些来增加弹性而不产生任何负面影响吗?
Name Server: ns4.google.com
Name Server: ns2.google.com
Name Server: ns3.google.com
Name Server: ns1.google.com
Run Code Online (Sandbox Code Playgroud) 这篇文章描述了如何在 kubernetes 中为 pod 分配主机别名,无论如何都可以为部署而不是为 pod 那样做?
在 kubernetes 中添加主机条目以提供主机名解析的第一行(在检查像 8.8.8.8 这样的服务器之前)的任何其他建议也将作为答案受到欢迎。
在Posgresql你可以设置一个变量称为PGPASSWORD(和PGUSER),所以你不必使用PostgreSQL命令,如时使用的密码psql或pg_dump
但我有点困惑,因为我无法让它在 Postgresql 9.3.10 上工作,而且它仍然记录在他们的网站上,好像它应该工作一样。
所以命令像
PGPASSWORD=password psql -l
不管用。
我也不能事先声明它们,例如
PGUSER=root
PGPASSWORD=password
psql -l
它仍然要求输入密码(尽管在这种情况下,它应该使用 root 用户)
我让它以某种方式工作的唯一方法是通过执行该.pgpass文件,但它仅在使用特定数据库时才有效,星号不起作用并且它仅适用于 pg_dump,而不是所有 postgresql 命令,例如psql -l:
localhost:5432:*:root:password
pg_hba.conf如果有帮助,这些是我的设置:
local all root md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Run Code Online (Sandbox Code Playgroud) 我一直在使用:
RedirectMatch /(.*) https://www.website.com/$1
Run Code Online (Sandbox Code Playgroud)
在 apache 中强制从虚拟主机 80 重定向到 443。
我的理由是,抓取用户输入的任何内容并将其直接转换为 https 是有意义的。然而,我也经常看到这种用法:
Redirect permanent / https://www.website.com/
Run Code Online (Sandbox Code Playgroud)
我没有使用它,因为我假设它不是用户输入的地址到 https 的精确翻译。
哪一种最适合与使用严格传输安全性一起对整个站点实施加密?
linux ×2
.htaccess ×1
apache-2.4 ×1
hosts ×1
internal-dns ×1
kubernetes ×1
postgresql ×1
tomcat ×1
tomcat7 ×1
ubuntu ×1