背景:
我在本地Windows VMware 15的環(huán)境中部署了CentOS7.5,下載jumpserver-offline-installer-v2.28.1-amd64-138.tar.gz并安裝部署。
需求:
1、能使用http:ip訪問堡壘機。達成;
2、能使用http:域名訪問堡壘機。達成;
3、能使用https:ip訪問堡壘機。達成;
4、能使用https:域名訪問堡壘機。達成;
5、最終目標是能在https:域名訪問堡壘機時,證書安全。達成。
實現(xiàn)過程:
1、能使用http:ip訪問堡壘機。
????????這一個過程比較簡單,直接無腦離線安裝 - JumpServer 文檔操作就行,http:ip訪問成功。
server {
listen 80;
server_name demo.jumpserver.org; # 自行修改成你的域名
client_max_body_size 4096m; # 上傳文件大小限制
location / {
# 這里的 ip 是后端 JumpServer nginx 的 ip
proxy_pass http://192.168.244.144;
proxy_http_version 1.1;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
?在Config.txt中起作用的主要是這一段:
運行結(jié)果,頁面上:
2、能使用http:域名訪問堡壘機。
? ? ? ? ?這一階段只需要在上一個http://ip的基礎(chǔ)上,修改一下hosts文件,把ip指向域名即可,代碼如下:
192.168.13.187 域名.com
效果如下:
?3、能使用https:ip訪問堡壘機。
????????這一階段需要使用nginx代理,因此有兩個選擇,一個使用jumpserver自帶的nginx,另一個是自己部署一套nginx。
? ? ? ? 使用jumpserver自帶的nginx,可以修改jumpserver目錄的conf下自帶的lb_http_server.conf文件,參考反向代理 - JumpServer 文檔。? ??
? ? ? ? 但我選擇單獨部署一個新的nginx代理https。jumpserver保持http://ip訪問的配置,修改config.txt的內(nèi)容把USE_LB=1屏蔽掉。nginx內(nèi)給出如下配置。 在conf目錄下新增cert目錄,里面加入server.pem和server.key。
worker_rlimit_nofile 15360;
events {
#use epoll;
accept_mutex off;
multi_accept on;
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 500M;
server_tokens off; ##hide version number
server {
listen 8080;
server_name ********.com; # 自行修改成你的域名
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name ********.com; # 自行修改成你的域名
ssl_certificate cert/server.pem; # 自行設(shè)置證書
ssl_certificate_key cert/server.key; # 自行設(shè)置證書
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_protocols TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=63072000" always;
client_max_body_size 4096m; # 錄像及文件上傳大小限制
location / {
# 這里的 ip 是后端 JumpServer nginx 的 ip
proxy_pass http://192.168.13.187;
proxy_http_version 1.1;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
????????結(jié)果:可以用https://ip來訪問。
????????ps:其實直接使用lb_http_server.conf,把server部分貼上去也可以實現(xiàn)該效果。
4、能使用https://域名訪問堡壘機。
? ? ? ? 在https://ip成功的基礎(chǔ)上,修改一下hosts文件,把ip指向域名即可。效果如下:
?5、最終目標是能在https:域名訪問堡壘機時,證書安全。
? ? ? ? ?原本一直出不來安全的標志,發(fā)現(xiàn)是證書讀取路徑的問題,在nginx的conf目錄下新增一個cert目錄,然后把你的pem/crt和key放進去,并且在nginx.conf中配置代碼如下:
server {
listen 443 ssl;
server_name *********.com; # 自行修改成你的域名
ssl_certificate cert/server.pem; # 自行設(shè)置證書
ssl_certificate_key cert/server.key; # 自行設(shè)置證書
... ...
}
? ? ? ? ?頁面效果如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-702129.html
????????至此,大功告成。?文章來源地址http://www.zghlxwxcb.cn/news/detail-702129.html
到了這里,關(guān)于本地虛機Jumpserver使用域名訪問報錯 使用IP+端口沒有錯誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!