我需要更改系统的主机名而不重新启动它。我正在运行 CentOS 7,并且 /etc/hostname 文件中具有正确的主机名,但我仍然在提示时显示旧主机名。我知道当我重新启动系统时,它会检查主机名文件并应用它,但是我是否可以在不重新启动的情况下更新该文件?以下是来自命令行的一些信息:
[root@gandalf sysconfig]# cat network
NETWORKING=yes
GATEWAY=192.168.80.1
HOSTNAME="sauron.domain.com"
[root@gandalf sysconfig]# cd ..
[root@gandalf etc]# cat hostname
sauron
[root@gandalf etc]#
Run Code Online (Sandbox Code Playgroud)
我无法很快重新启动该服务器,并且由于主机名显示较旧的系统名称,我的一些团队正在混淆服务器。简单地说:需要提示来显示[user@sauron dir]#
而不是[user@gandalf dir]#
.
谷歌对此进行了搜索,但找不到一种无需重新启动即可实现此目的的方法。感谢您的考虑!
我有一个运行 NGINX 的 CentOS 系统,后面有 Tomcat。NGINX 启用了 SSL,仅用于将连接推送到 Tomcat。除了某些请求标头没有发送到 Tomcat 之外,几乎一切都运行良好。
我们的 Java 开发人员制作了一个测试页面来打印请求标头,以下是结果,因此您可以看到我在说什么:
curl -H 'auth_token: some value' -H 'Host: demo-test.domain.com' http://127.0.0.1:8080/sjl.jsp
header.user-agent=curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
header.accept=*/*
header.auth_token=some value
header.host=demo-test.domain.com
Run Code Online (Sandbox Code Playgroud)
上面,您可以看到请求直接转到 Tomcat,注意收到了“auth_token”标头。
下面是发送到 NGINX 而不是 Tomcat 的第二个请求。注意没有“auth_token”标头。
curl -H 'auth_token: some value' -H 'Host: demo-test.domain.com' -k https://127.0.0.1/sjl.jsp
header.host=demo-test.domain.com
header.connection=close
header.user-agent=curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
header.accept=*/*
Run Code Online (Sandbox Code Playgroud)
我试图更新 nginx.conf 以将“proxy_pass_request_headers”设置为 on,但它似乎没有做任何事情。这是 NGINX 中站点的 conf:
upstream demo-test.domain.com {
ip_hash;
server demo-test.domain.com:8080;
}
server {
listen 80;
listen …
Run Code Online (Sandbox Code Playgroud) 我试图只允许使用 ssh 密钥进行外部 SSH 连接,但允许使用密码进行内部 ssh 登录。似乎这是可能的,但我似乎无法使其与我正在尝试的选项一起使用。
我认为 sshd_config 中的以下条目只允许从列出的子网进行 root 登录——这是错误的吗?它似乎不能正常工作。
AllowUsers root@192.168.*
AllowUsers root@10.0.*
Run Code Online (Sandbox Code Playgroud)
我无法阻止网络防火墙上的 SSH 端口,因为它会阻止供应商使用他们的 SSH 密钥登录。我将端口更改为更高的端口为时已晚。我基本上只是想让 root 从本地 IP 登录,并消除人们试图整天尝试 ssh 到 root 的可能性。IPS 规则对此有所帮助,但我想知道没有密钥的外部登录永远不会起作用。