安装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,刷新页面,就一切正常了。