求助各位佬:
HTTPS连接时,用的自签证书,都需先点击“高级”选项,再选择继续连接。感觉很麻烦
证书可以购买。但存在一个限制,证书要求绑定到域名,无法直接绑定到IP + 端口。
有现成阿里云域名(用的也是阿里云服务器),但域名和服务器都需要进行备案,无法立即完成。
求助各位佬友,有没有什么办法解决,用IP+端口时不显示"是个不安全连接"
求助各位佬:
HTTPS连接时,用的自签证书,都需先点击“高级”选项,再选择继续连接。感觉很麻烦
证书可以购买。但存在一个限制,证书要求绑定到域名,无法直接绑定到IP + 端口。
有现成阿里云域名(用的也是阿里云服务器),但域名和服务器都需要进行备案,无法立即完成。
求助各位佬友,有没有什么办法解决,用IP+端口时不显示"是个不安全连接"
ip 也可以买证书的,要不然就把根证书安装到自己设备上自娱自乐也可以避免自己访问提示不安全
Zero SSL支持申请免费的IP SSL证书,但是一个账号能申请的次数是有限的!
谢谢!佬 有推荐的买证书网站吗
好嘞!我去看看 谢谢
自签证书就是这样麻烦啊
很明显佬是国内服务器,国内服务器都需要备案,无解,换国外服务器或者套cf吧
刚看到确实他是国内机器。貌似可以开小黄云,用CF的ssl证书啊
对的 套cf或者换国外服务器就可以了
不是太懂,按理说你域名+端口也是可以申请证书的,但国内服务器的话,你最好备案后直接用80/443端口
待会发你一个ip自签名证书脚本。用了很舒服
用 ip 也得备案吧,我印象里国内云都是无备案 ban 80/443 的。
echo [ req ] >./uhttpd_null.ext
echo default_bits = 2048 >>./uhttpd_null.ext
echo distinguished_name = req_distinguished_name >>./uhttpd_null.ext
echo req_extensions = san >>./uhttpd_null.ext
echo extensions = san >>./uhttpd_null.ext
echo [ req_distinguished_name ] >>./uhttpd_null.ext
echo countryName = CN >>./uhttpd_null.ext
echo stateOrProvinceName = Definesys >>./uhttpd_null.ext
echo localityName = Definesys >>./uhttpd_null.ext
echo organizationName = Definesys >>./uhttpd_null.ext
echo [ SAN ] >>./uhttpd_null.ext
echo authorityKeyIdentifier=keyid,issuer >>./uhttpd_null.ext
echo basicConstraints=CA:FALSE >>./uhttpd_null.ext
echo keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment >>./uhttpd_null.ext
echo subjectAltName = @alt_names >>./uhttpd_null.ext
echo [ alt_names ] >>./uhttpd_null.ext
echo DNS.1 = dynv6.net >>./uhttpd_null.ext
echo DNS.2 = *.dynv6.net >>./uhttpd_null.ext
echo IP.1 = 修改成你自己的ip >>./uhttpd_null.ext
echo IP.2 = 127.0.0.1 >>./uhttpd_null.ext
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -subj “/C=CN/ST=Beijing/L=Beijing/O=Beijing” -keyout ./CA.key -out ./CA.crt -reqexts v3_req -extensions v3_ca
openssl genrsa -out ./网站证书.key 2048
openssl req -new -key ./网站证书.key -subj “/C=CN/ST=Beijing/L=Beijing/O=rsa/CN=*.dynv6.net” -sha256 -out ./网站证书.csr
openssl x509 -req -days 3650 -in ./网站证书.csr -CA ./CA.crt -CAkey ./CA.key -CAcreateserial -sha256 -out ./网站证书.crt -extfile ./uhttpd_null.ext -extensions SAN
脚本要修改成你自己的ip。
CA.crt导入到你的系统中,这个是关键。以后就不会提示安全了。
网站证书.crt 和 网站证书.key 文件部署到你网站中。
这样你ip访问就不会提示了。
echo [ req ] >./uhttpd_null.ext
echo default_bits = 2048 >>./uhttpd_null.ext
echo distinguished_name = req_distinguished_name >>./uhttpd_null.ext
echo req_extensions = san >>./uhttpd_null.ext
echo extensions = san >>./uhttpd_null.ext
echo [ req_distinguished_name ] >>./uhttpd_null.ext
echo countryName = CN >>./uhttpd_null.ext
echo stateOrProvinceName = Definesys >>./uhttpd_null.ext
echo localityName = Definesys >>./uhttpd_null.ext
echo organizationName = Definesys >>./uhttpd_null.ext
echo [ SAN ] >>./uhttpd_null.ext
echo authorityKeyIdentifier=keyid,issuer >>./uhttpd_null.ext
echo basicConstraints=CA:FALSE >>./uhttpd_null.ext
echo keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment >>./uhttpd_null.ext
echo subjectAltName = @alt_names >>./uhttpd_null.ext
echo [ alt_names ] >>./uhttpd_null.ext
echo DNS.1 = dynv6.net >>./uhttpd_null.ext
echo DNS.2 = *.dynv6.net >>./uhttpd_null.ext
echo IP.1 = 修改成你自己的ip >>./uhttpd_null.ext
echo IP.2 = 127.0.0.1 >>./uhttpd_null.ext
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -subj "/C=CN/ST=Beijing/L=Beijing/O=Beijing" -keyout ./CA.key -out ./CA.crt -reqexts v3_req -extensions v3_ca
openssl genrsa -out ./网站证书.key 2048
openssl req -new -key ./网站证书.key -subj "/C=CN/ST=Beijing/L=Beijing/O=rsa/CN=*.dynv6.net" -sha256 -out ./网站证书.csr
openssl x509 -req -days 3650 -in ./网站证书.csr -CA ./CA.crt -CAkey ./CA.key -CAcreateserial -sha256 -out ./网站证书.crt -extfile ./uhttpd_null.ext -extensions SAN
脚本要修改成你自己的ip。
CA.crt导入到你的系统中,这个是关键。以后就不会提示安全了。
网站证书.crt 和 网站证书.key 文件部署到你网站中。
这样你ip访问就不会提示了。
域名、证书、备案,很多估计佬跟很多新手一样被整的晕头转向。大概给佬科普下希望对L站跟佬一样的新手都有所帮助
1、为什么要域名
其实没有域名行不行?能不能打开浏览器只输入 http://192.168.1.1 当然可以了,一般家用路由器默认不就都是这样浏览器打开配置页面的。那为什么需要域名呢?几亿个IPv4地址是人类可以背下来的吗?如果能背下来那就彻底不需要域名了所以说域名是人类对互联网的基本需求。打个比方
198.251.80.233 这没人记得住吧,但 mail.linux.do 几乎人人过目不忘了吧
2、为什么要证书
最初的互联网的确是没有证书的,纯http协议打开html即可。那为什么要用https呢?其实是为了防止李逵李鬼的。假如说没有https协议,我也搞个ICBC的网站,只要想办法让使用方的域名解析到李鬼工行网站,然后用户傻傻输入账号、密码,这不就把真实用户信息套过来了吗?就因为这才发明了https协议,要求网站服务端必须使用经过CA认证机构(其实真没几家,绝大部分卖证书的都是代理)签发的证书。这样浏览器打开的https一定是李逵了,当然也有李逵自己把腰牌丢了让李鬼捡到的情况。
3、为什么要备案
前2个需求都是技术驱动的,这备案吧国情所致政策需求。始皇有令L站不讨论这些,佬只需要记住但凡服务端是在中国大陆的,并且需要浏览器使用 http://域名:80 https://域名:443 去访问的,就必须备案。总结个表,看着比较清楚不会晕
协议 | url | 端口 | 是否中国大陆服务器 | 是否需要备案 | 是否需要证书 |
---|---|---|---|---|---|
http | 域名 | 80 | √ | √ | X |
http | 域名 | 80 | X | X | X |
http | 域名 | 非80 | Any | X | X |
http | IP | Any | Any | X | X |
https | 域名 | 443 | √ | √ | √ |
https | 域名 | 443 | X | X | √ |
https | 域名 | 非443 | Any | X | √ |
https | IP | Any | Any | X | √ |
很详细
如果不在乎延迟,可以用cf tunnel ,无需开放端口,当然也无需公网80 443端口,无需证书。
国内的主机厂商,无论是否80/443端口,都需要备案域名
佬可以试试看,你用国内的主机厂商,nginx监听下12345这个端口,浏览器打开一个非备案域名是否会被拦截