V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
bigtang
V2EX  ›  问与答

谁能完整的给出网站上 https 要做哪些事情?

  •  
  •   bigtang · 2023-07-03 12:41:41 +08:00 · 1569 次点击
    这是一个创建于 538 天前的主题,其中的信息可能已经有所发展或是发生改变。
    查了半天还是茫然,我的网站:

    腾讯云服务器,Ubuntu22.04 ,nginx, 上面有个 c++服务器
    nginx 通过一句 proxy_pass http://127.0.0.1:xxxx; 连接 c++服务器
    网站就是: 静态 html + c++服务器提供 ajax 调用

    目前整个服务器就只有一个域名

    谁能完整的列出上 https 要做哪些事情及步骤? c++服务器还得改代码吧?
    15 条回复    2023-07-03 17:18:52 +08:00
    isno
        1
    isno  
       2023-07-03 12:45:35 +08:00   ❤️ 1
    Trim21
        2
    Trim21  
       2023-07-03 12:50:27 +08:00 via Android
    用 certbot 或者 acme.sh 之类的在免费的 ssl 证书提供商那里申请一个证书
    Nginx 添加 ssl 的配置

    完成
    yaott2020
        3
    yaott2020  
       2023-07-03 12:51:27 +08:00 via Android
    你需要 acme.sh 获取证书和私钥,可能需要设置 dns 解析,然后再来考虑 nginx 设置的问题
    Trim21
        4
    Trim21  
       2023-07-03 12:54:35 +08:00 via Android
    如果你的静态网站硬编码了 http://domain 这样的网址的话,还得改成 https 协议或者改成的自适应协议。

    c++的服务器一般来说不用改。
    hefish
        5
    hefish  
       2023-07-03 12:56:58 +08:00
    先整个证书吧,aliyun ,腾讯云 上都有 1 年免费的证书可以申请,具体可以去试着操作一下,应该不难吧。
    然后 Nginx 配置里加几句话吧。

    一句是开 443 端口,
    另外两句是 设置证书 , 类似下面的配置:
    server {
    listen 443 ssl;
    server_name www.wwwww.net;

    ssl_certificate /etc/nginx/keys/9606873_www.wwwww.net.pem;
    ssl_certificate_key /etc/nginx/keys/9606873_www.wwwww.net.key;

    location / {
    proxy_pass http://v-hdy.wwwww.net.:8081 ;
    proxy_set_header Host www.wwwww.net.;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_http_version 1.1;
    }



    如果要完美一些,可以在 80 端口设置一个主动 rewrite ,所有 http 的流量跳转到 Https. l
    mdn
        6
    mdn  
       2023-07-03 12:58:14 +08:00
    1. 申请证书(申请免费证书途径网上很多)
    2. 配置证书到 Nginx

    无需修改 c++ 代码
    lovelylain
        7
    lovelylain  
       2023-07-03 12:59:39 +08:00 via Android
    acme.sh + nginx 完事
    liuran
        8
    liuran  
       2023-07-03 13:06:53 +08:00 via Android
    用 caddy 加一行代码即可。
    8yte
        9
    8yte  
       2023-07-03 13:08:52 +08:00 via Android
    只有一个简单的 https 需求的话,为什么没人说把 nginx 换成 caddy ,配置里写一下域名就可以了
    oldshensheep
        10
    oldshensheep  
       2023-07-03 13:14:04 +08:00
    用 caddy ,全自动,3 行配置搞定
    abc.abc.com {
    reverse_proxy 127.0.0.1:8080
    }
    kaedeair
        11
    kaedeair  
       2023-07-03 15:23:30 +08:00
    不用改代码,网关负责卸载 ssl ,转发后是 http 流量
    cloud2000
        12
    cloud2000  
       2023-07-03 16:09:19 +08:00
    建议用 caddy, 全自动搞定. 楼上的弟兄们已经说的很清楚了. 一定要 nginx 搞就啰嗦了.
    bigtang
        13
    bigtang  
    OP
       2023-07-03 16:42:58 +08:00
    从上面的回复来看,好像用 caddy 最简单,但好像是 2 种方法:

    1 彻底用 caddy 代替 nginx, 重写下 caddy 的配置文件,好像比 nginx 配置简单;

    2 同时启用 caddy+nginx, caddy 调用 nginx ,只需 3 行配置, @oldshensheep 是吧?

    1 是完美方案,2 是临时解决方案,

    其它申请证书什么,证书过期的都不用管,是么?

    我有点疑惑,如果问题就解决了,那几千几万的 ssl 证书谁买?(因为性能?)
    现在能够免费是谁承担了该收费的工作?没有收到费它得到了什么?

    希望 V 友说透彻啊
    kylebing
        14
    kylebing  
       2023-07-03 16:59:48 +08:00
    阿里云
    https://help.aliyun.com/document_detail/28534.html

    - 什么是 SSL 证书
    - SSL 证书功能特性
    - 购买 SSL 证书
    - 申请 SSL 证书
    - 安装 SSL 证书
    - 管理 SSL 证书
    - 免费 SSL 证书使用指南
    - 域名监控
    - 证书托管
    - 常见问题
    bigtang
        15
    bigtang  
    OP
       2023-07-03 17:18:52 +08:00
    chatgpt 回答:提供免费的网站 SSL 证书的企业的目的是为了促进网络安全和加密通信。这些企业希望通过免费提供 SSL 证书来帮助网站提高安全性,保护用户的隐私和数据。免费的 SSL 证书使得网站能够使用 HTTPS 协议,确保数据在传输过程中得到加密,防止被黑客窃取或篡改。这有助于建立信任,提升用户体验,并提高网站的可靠性和可信度。

    这是 chatGPT 的”幻觉“吧?

    我刚提出问题 4 个小时,就已经来了 3 个 google 点击,说明这个问题很有需求。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.