Nginx配置反向代理,通过域名访问1Panel面板!

1,612 阅读1分钟

一、需求背景

当我们购买了一台云服务器并且安装了运维面板时,我们可以访问面板来管理服务器系统,但是,面板默认访问方式是ip+port+安全入口 例如:http://127.0.0.1:10196/z8ad2QPYQK, 这样输入访问还是挺麻烦的,下面是介绍通过配置域名来访问面板的方式。本文以1panel运维管理面板为例。

前置准备:

  • 准备一个已解析过的域名,本文以1panel.myserver.com为例
  • 安装nginxopenresty 静态网站服务器
  • 开放80/443/1panel面板这三个端口

二、配置

proxy.conf

server {
    listen 80 ; 
    server_name 1panel.myserver.com;   #填写你的访问域名
    
    # 匹配uri为/ 未登录时代理加上安全入口
    location = / {
        proxy_pass http://127.0.0.1:10196/z8ad2QPYQK/; # 1panel登录地址
        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-Host $http_host; 
        proxy_set_header REMOTE-HOST $remote_addr; 
        proxy_set_header Upgrade $http_upgrade; 
        proxy_set_header Connection $http_connection; 
        proxy_set_header X-Forwarded-Proto $scheme; 
        proxy_http_version 1.1; 
        add_header X-Cache $upstream_cache_status; 
        add_header Cache-Control no-cache; 
        proxy_ssl_server_name off; 
        proxy_ssl_name $proxy_host; 
    }

    # 登录面板成功后就不需要安全入口地址(/z8ad2QPYQK)了,所以去掉入口地址
    location ^~ / {
        proxy_pass http://127.0.0.1:10196/;  # 1panel访问地址
        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-Host $http_host; 
        proxy_set_header REMOTE-HOST $remote_addr; 
        proxy_set_header Upgrade $http_upgrade; 
        proxy_set_header Connection $http_connection; 
        proxy_set_header X-Forwarded-Proto $scheme; 
        proxy_http_version 1.1; 
        add_header X-Cache $upstream_cache_status; 
        add_header Cache-Control no-cache; 
        proxy_ssl_server_name off; 
        proxy_ssl_name $proxy_host; 
    }
}

三、总结

对于面板配置了安全入口情况时,需要配置两个匹配规则,对于未开启安全入口时只需要下面哪个访问规则就可以了。