现在公司将自有平台嵌入到对方平台,但是目前对方平台访问的地址是有 ssl 证书的; 将我们平台以 iframe 方式嵌入到对方系统中,浏览器报安全警告,访问不了。 已知:1 、公司目前还未提到会购买域名配置 ssl 证书 。 尝试过的方法:配置 nginx 代理,但是都失败了。 有没有类似经历的老哥,分享下解决办法。
1
renfei 2023-08-22 14:40:40 +08:00 1
HTTPS 的页面中,禁止加载 HTTP 的资源,这是规范,不能改
现在 SSL 证书好多免费的,不用购买啊,用免费的就行啊 |
2
flyqie 2023-08-22 14:46:04 +08:00
chrome 这块唯一的方法就是在浏览器的网站权限设置里面开启`不安全内容`,但这个是走的调用方当前域名的,虽然不是顶级域名,但粒度也是比较粗的,并且还得用户手动调整,极其不友好。
建议还是申请上个 ssl 吧,他好你也好。。 |
4
tony1016 2023-08-22 14:47:53 +08:00
第一,没有别的办法;第二,部署证书不需要掏钱
|
5
NewYear 2023-08-22 14:48:24 +08:00
没有购买域名是吧,实在不行个人掏钱买一个,买个便宜的,几块钱一年。
或者自己用的域名,开设一个二级域名。 至于 SSL 证书,免费 1 年的有,自动脚本的也有。 在一个公司的成本中,域名的成本低到可怕,工作还是要学会如何申请资源、申请预算,不要什么都靠自己的双手去搞。 |
6
DOLLOR 2023-08-22 14:54:15 +08:00 1
能上 HTTPS 就上,最好别想什么怪招绕过。
要是将来 HTTP 页面被攻击了,导致别人平台也受牵连了,到时候就有扯不完的纠纷了。 |
7
clf 2023-08-22 14:56:09 +08:00
可以反向代理对方的套 https 来解决。但为啥你们不自己上 https……
|
9
renfei 2023-08-22 14:58:49 +08:00
@flyqie #3 你无法远程操作用户手里的浏览器设置啊,自己改自己的浏览器只是自己降低了自己浏览器的安全等级,并不能干预其他用户啊
|
10
githmb 2023-08-22 14:59:22 +08:00
让对方反代
|
14
abcbuzhiming 2023-08-22 15:05:20 +08:00
|
16
ImmerTry OP @abcbuzhiming 感谢提醒,目前是提供的公网 IP 供对方访问。
|
17
jifengg 2023-08-22 15:15:03 +08:00
补充以上,让公司赶紧购买域名,因为,接下来还有备案,这个不麻烦,但是要等至少 20 自然天。
|
18
caiqichang 2023-08-22 15:30:45 +08:00
反向代理可以这样设置,比如 nginx
location ^~ /你的域名 { proxy_pass http://你的域名/; } 然后 iframe 地址 <iframe src="https://他的域名/你的域名/..."></iframe |
19
caiqichang 2023-08-22 15:31:25 +08:00
或者直接
<iframe src="/你的域名/..."></iframe> |
20
clf 2023-08-22 15:32:42 +08:00
@ImmerTry 一个参考:
server { # SSL 监听 443 端口 listen 443 ssl http2; listen [::]:443 ssl http2; #下面_换成你证书对应的域名 server_name _; # SSL 的证书和 key 的路径 ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location / { #下面换成你们 http 的地址 proxy_pass http:xxxx.com; #下面这些配置是修改 Header 的,你可以选择增加/删除或修改,部分情况下需要手动配置 host 等 header proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Forwarded $proxy_add_forwarded; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; } } |
22
ImmerTry OP |
24
a1274598858 2023-08-22 16:32:38 +08:00
@ImmerTry #23 gdca 有 ip 证书 几百块一年 https://www.gdca.com.cn/
|
26
honhon 2023-08-22 17:29:08 +08:00
letsencrypt 你值得拥有,自动续期
|
27
laozhoubuluo 2023-08-22 17:58:41 +08:00
@ImmerTry ZeroSSL 可以签署 IP 地址证书,不过有效期只有九十天,可以作为无条件购买域名的备份方案。可以将这个方案作为不买域名的备选方案,不过考虑到 IP 地址证书不支持 ACME 自动化因此九十天签发一次的人力成本都高于域名钱了。教程可参考 https://www.landiannews.com/archives/93605.html
@honhon 嗯,买了域名就可以自动签 Let's Encrypt 证书了。政府网站都敢用的免费证书提供商。 |
28
ImmerTry OP @laozhoubuluo 感谢分享,准备着手试一下
|
29
busier 2023-08-23 09:16:40 +08:00 via Android
@laozhoubuluo 你这说的 免费证书怎么了!
正经证书颁发机构,应该是客户端本机生成私钥和 csr ,将 csr 提交给证书机构,再将颁发的证书下载回来。 证书颁发机构全程接触不到客户私钥。 而国内很多证书颁发机构,自己服务器端产生私钥,把私钥和证书一起给客户下载,像这种证书颁发机构持有过私钥,才是最危险的。还喜欢臭不要脸的说免费的不安全! |