回答1:利用nginx反向代理实现全部转发至指定同一个虚拟主机并实现外部请求协议为https,内部请求为http的教程:

假设我们有两个服务器,一个用于处理外部请求,一个用于处理内部请求。外部请求使用https协议,内部请求使用http协议。我们将使用nginx作为反向代理来实现转发和会话保持。

  1. 安装Nginx:

首先,确保在两台服务器上都已经安装了Nginx。你可以使用以下命令安装:

sudo yum install nginx
  1. 配置外部服务器:

在处理外部请求的服务器上,我们配置Nginx来处理https请求:

# /etc/nginx/conf.d/external.conf

# 配置外部请求使用的HTTPS证书和密钥
ssl_certificate /path/to/external/certificate.crt;
ssl_certificate_key /path/to/external/private.key;

server {
    listen 443;
    server_name example.com; # 替换为你的外部域名

    location / {
        proxy_pass http://internal_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. 配置内部服务器:

在处理内部请求的服务器上,我们配置Nginx来处理http请求:

# /etc/nginx/conf.d/internal.conf

upstream internal_server {
    server internal_ip:80; # 替换为内部服务器的IP地址
}

server {
    listen 80;
    server_name localhost; # 或者使用内部服务器的域名

    location / {
        proxy_pass http://internal_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  1. 会话保持设置:

要实现会话保持,我们需要在外部服务器的配置中添加以下内容:

server {
    ...
    location / {
        ...
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

这样设置会话保持,确保在反向代理期间保持会话的一致性。

  1. 重启Nginx:

完成配置后,分别在两台服务器上重启Nginx:

sudo systemctl restart nginx

现在,外部请求将通过https协议访问你的Nginx反向代理服务器,并转发至内部服务器,内部请求使用http协议进行处理。同时,会话保持也已经生效。

回答2:CentOS 7中分用户记录历史命令至日志文件的教程:

  1. 首先,登录到CentOS 7系统中的root账户或具有sudo权限的账户。
  2. 使用文本编辑器(例如nano、vim等)打开bash配置文件 /etc/bashrc
sudo vim /etc/bashrc
  1. 定位到以下行,并添加用于记录历史命令的配置:
# User specific aliases and functions
# 设置命令历史记录格式
export HISTTIMEFORMAT="%Y-%m-%d %T "

# 定义命令历史记录文件路径
export HISTFILE=/var/log/user_history.log

# 设置保存命令历史记录的条目数,此处设置为1000,你可以根据需要调整
export HISTSIZE=1000

# 设置保存命令历史记录的文件大小,此处设置为5000条,你可以根据需要调整
export HISTFILESIZE=5000

# 配置命令历史记录的高级选项,避免重复记录相同的连续命令
export HISTCONTROL=ignoredups:erasedups

# 配置不保存特定命令的历史记录,如以下示例中将忽略以空格开头的命令,你可以根据需要添加更多规则
export HISTIGNORE=' *'

# 设置终端关闭时仅保存最后一个会话的命令历史记录
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
  1. 保存并关闭文件。在vim中可以按下 Esc键,然后输入 :wq,再按回车键。
  2. 创建用于保存命令历史记录的日志文件,并设置权限:
sudo touch /var/log/user_history.log
sudo chmod 644 /var/log/user_history.log
sudo chown root:root /var/log/user_history.log
  1. 重新加载bash配置,使更改生效:
source /etc/bashrc

现在,CentOS 7系统会将用户的历史命令记录至 /var/log/user_history.log文件中。每次用户退出登录时,命令历史记录会自动保存,而且不会重复记录相同的连续命令。这样可以更好地跟踪用户在系统中执行的命令操作。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 07 月 25 日
如果觉得我的文章对你有用,请随意赞赏