Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
JoeBreeze
V2EX  ›  Linux

Ubuntu+Chrome 如何实现网页应用, 调用接口时代理到本地接口服务

  •  
  •   JoeBreeze · Jan 9, 2022 · 3726 views
    This topic created in 1609 days ago, the information mentioned may be changed or developed.

    是不是可以通过修改 /etc/吼丝特丝 实现, 菜鸡求助 QAQ

    比如: 打开 www.xxx-admin.com, 这个后台调用的接口域名是 api.xxx-admin.com, 如何将调用的过程代理为调用本地 docker 服务 127.0.0.1:8081

    Supplement 1  ·  Jan 9, 2022

    准备工作

    1. 添加映射关系
      sudo echo 127.0.0.1 api.xxx-admin.com >> /etc/hosts

    2. 添加代理配置
      sudo vim /etc/nginx/conf.d/api.xxx-admin.com.conf

      server {
          listen 80;
          
          server_name api.xxx-admin.com;
      
          location / {
              proxy_pass http://127.0.0.1:8081/;
          }
      }
      
      
    3. sudo nginx -s reload

    测试1

    打开后台界面 xxx-admin.com, F12->console 可以看到报错 net::ERR_CONNECTION_REFUSED

    自建https证书

    本地自签https证书[1]

    根据上述教程完成之后, 上述代理配置修改为

    server {
        listen 80;
        listen 443 ssl http2;  # 新增
    
        ssl_certificate /etc/nginx/ssl/localhost.crt;  # 新增
        ssl_certificate_key /etc/nginx/ssl/localhost.key;  # 新增
    
        server_name api.xxx-admin.com;
    
        location / {
            proxy_pass http://127.0.0.1:8081/;
        }
    }
    

    执行 nginx -s reload 后再次测试

    测试2

    • 打开后台界面, 还是报错
    • 使用 postman 调试通过, (关闭证书检查 File->settings->SSL certificate verification:OFF)
    • 通过让Chrome允许自建证书[2] (typing "thisisunsafe" anywhere 有种玩GTA的感觉...), 然后再次通过后台界面调用接口顺利实现了

    参考资料

    9 replies    2022-01-10 14:08:16 +08:00
    kkocdko
        1
    kkocdko  
       Jan 9, 2022 via Android
    JoeBreeze
        2
    JoeBreeze  
    OP
       Jan 9, 2022
    - /etc/h ost s

    ```
    #...
    127.0.0.1 api.xxx-admin.com
    ```

    - /etc/nginx/config.d/api.xxx-admin.com

    ```
    {
    listen 80;

    server_name api.xxx-admin.com;

    location / {
    proxy_pass http://127.0.0.1:8081/;
    }
    }
    ```
    JoeBreeze
        3
    JoeBreeze  
    OP
       Jan 9, 2022
    @kkocdko #1 好的我试试! 用了 switch proxy omega 好像也行, 但是会影响其他代理, 不知道怎么设置好
    looplj
        4
    looplj  
       Jan 9, 2022
    https://github.com/avwo/whistle 搭配 Chrome whistle 插件
    defunct9
        5
    defunct9  
       Jan 9, 2022 via iPhone
    JoeBreeze
        6
    JoeBreeze  
    OP
       Jan 9, 2022
    谢谢各位的帮助! 已经顺利解决了, 准备整理 po 上解决方案(不依赖插件)
    onhao
        7
    onhao  
       Jan 9, 2022
    https://wuhao.pw/archives/88/ Falcon-Proxy_v0.7.1.crx
    yuezk
        8
    yuezk  
       Jan 10, 2022
    生成自签名证书,推荐这个 https://github.com/FiloSottile/mkcert
    JoeBreeze
        9
    JoeBreeze  
    OP
       Jan 10, 2022
    @yuezk #8 ohhhh 马克马克!!!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2646 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 11:50 · PVG 19:50 · LAX 04:50 · JFK 07:50
    ♥ Do have faith in what you're doing.