自簽證書讓Chrome信任的方式(域名情況)
網站是搭建在linux上的,內容大概是一個code-server;我要在windows的chrome中訪問,在Linux機器上自簽了一個證書,準備讓windows中的chrome信任。linux裝好openssl。首先買好域名,配置好解析,然后在linux上:
mkdir -p [選一個放證書的目錄]
cd [選一個放證書的目錄]
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myssl.key -out myssl.crt
在放證書的路徑下寫一個openssl.cnf如下
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no[req_distinguished_name]
C = CN
ST = BeiJing(隨便寫個省份)
L = BeiJing (隨便寫個城市)
O = BlahBlah (隨便寫個公司)
OU = BlahBlah (隨便寫個區域)
CN = website.mydomain.cn (這部分得和域名一樣,切記)[v3_req]
keyUsage = digitalSignature, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names[alt_names]
DNS.1 = website.mydomain.cn (這部分得和域名一樣,切記)
執行
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myssl.key -out myssl.crt -config openssl.cnf
然后配置nginx,這里主要看證書部分,就是server往下的5~6行,其他我也懶得刪了
#user nobody;
worker_processes 1;
events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 443 ssl;server_name website.mydomain.cn;ssl_certificate [放證書的路徑]/myssl.crt;ssl_certificate_key [放證書的路徑]/myssl.key;location / {proxy_pass https://localhost:8080;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_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";}}
}
重啟nginx
然后把myssl.crt下載下來,打開chrome://settings,也就是設置,搜索證書,在安全那一項里,有一個管理設備證書,然后點進去以后選導入,然后選這個證書導入進來,選擇將所有證書放入下列存儲的時候有個瀏覽,受信任的發布者和受信任的根證書頒發機構我都導入了一遍,然后不安全就消失了,websocket也能用了。