安装cockpit后,默认只能通过IP地址+端口号来访问

其实,还可以通过nginx代理来访问。

Nginx代理设置

添加虚拟机配置,如

touch /etc/nginx/conf.d/cockpit.awei.pub

内容如下:

map $http_upgrade $connection_upgrade { default upgrade; '' close; }

upstream websocket {
server 127.0.0.1:9090;
}

server{
    listen 80;
    server_name cockpit.awei.pub;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name cockpit.awei.pub;

    ssl on;
    ssl_certificate /etc/nginx/v2rayssl/cert.pem;
    ssl_certificate_key /etc/nginx/v2rayssl/key.pem;

    location / {
        root /;
        index index.html;
        proxy_redirect off;
        proxy_pass http://websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
    }
}

重启下Nginx,nginx代理的工作就完成了。

这时输入域名,能看到登录页面,但登录后,显示不出内容,页面全白。

这里要对cockpit.conf进行一些设置。

sudo vim /etc/cockpit/cockpit.conf

如果有这文件就直接编辑,没有就临时创建一个,添加如下内容:

#!python
[WebService]
Origins = https://cockpit.awei.pub http://127.0.0.1:9090
ProtocolHeader = X-Forwarded-Proto
AllowUnencrypted = true

最后重启下cockpit,刷新页面,就一切正常了。

Related content