使用 花瓶(Charles) 远端映射(代理)本地端口 , 将指定域名映射至本机localhost ;

发布于 2022-09-11 15:34:00 字数 60 浏览 30 评论 0

sf 的编辑器太差劲, 问题的表现形式不是预期的,

具体的问题内容在下面第一个回答 ↓

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

把梦留给海 2022-09-18 15:34:01

图片描述

使用IP预览可以直接 在 dev 上配置

岁月无声 2022-09-18 15:34:01

不知道是不是我理解错误

在浏览器url中, 访问 https://hsp.com 就是访问 http://localhost:8080/

要达到这样的效果,只需要配一下host文件就可以了,也就是

127.0.0.1 hsp.com

如果你只需要代理接口,不代理url请求,你可能需要设计代理,判断是否请求的是html,然后把代理地址指向hsp.com具体的ip和端口,假如hsp.com的真实ip是1.1.1.1,端口是80,那么webpack-dev-server代码如下:

devServer: {
    hot: true,
    compress: false,
    historyApiFallback: true,
    open: true,
    host: '0.0.0.0',
    port: 8080,
    disableHostCheck: true,
    stats: { colors: true },
    headers: { 'Access-Control-Allow-Origin': '*' },
    proxy: {
      '**': {
        target: 'http://1.1.1.1:80',
        bypass: function (req, res, proxyOptions) {
          if (req.headers.accept.indexOf("html") !== -1) {
            return "/index.html";  // 返回你的html页面
          }
        }
      }
    }
  },
假装爱人 2022-09-18 15:34:01

没有更改过域名,我一般都是更改host就行了,访问ip就行了,所以无法回答你的问题。

安穩 2022-09-18 15:34:01

更改 hosts 不方便, 因为已经有地址占用了:

下个SwitchHosts能有多麻烦...
还是嫌麻烦在内网找台服务器做个vpn,然后改服务器的hosts并配个nginx代理回来。然后你要做的就是切换vpn

七七 2022-09-18 15:34:00

问题描述

现在有这么个需求, vue+webpack 开发时, dev环境访问地址是 http://localhost:8080/

现在需要访问指定域名(比如是 https://hsp.com )

但是期望访问的结果和 http://localhost:8080/ 展示的一样 ;

或者说:

在浏览器url中, 访问 https://hsp.com 就是访问 http://localhost:8080/


问题出现的环境背景及自己尝试过哪些方法

  • 更改 hosts

    更改 hosts 不方便, 因为已经有地址占用了:

    192.168.1.*** hsp.com
  • 使用花瓶或者fiddler进行代理拦截

    因为是 vue+webpack 在dev环境, 所以本地映射访问的实际结果与预期结果不一致 ;

  • 设置 proxy
    目前的 proxy 的设置如下 :

    dev: {
      env: require('./dev.env'),
      port: 8080,
      autoOpenBrowser: true,
      assetsSubDirectory: 'static',
      assetsPublicPath: '/',
      proxyTable: {
        '/agent': {
          target: 'http://hsp.com', // 开发环境
          changeOrigin: true,
          pathRewrite: {
            '^/agent': ''
          }
        }
      },
      // CSS Sourcemaps off by default because relative paths are "buggy"
      // with this option, according to the CSS-Loader README
      // (https://github.com/webpack/css-loader#sourcemaps)
      // In our experience, they generally work as expected,
      // just be aware of this issue when enabling this option.
      cssSourceMap: false
    }

(2018/11/26)再组织下语言, 阐述下背景 :

# 更改 hosts 不方便, 因为已经有地址占用了 :

后台指定的 api 接口为 : 192.168.1.***/api/

所以已经在 hosts 中设置为 192.168.1.*** hsp.com

然后为什么要 访问 http://hsp.com 就是访问 http://localhost:8080/ 这个需求呢 ,

因为后台设定的api加密措施规定 --- api的地址必须是与请求api的域一致的, 包括 Authorization 也是基于这个加密 :

也就是说 http://hsp.com 请求 http://hsp.com/api 这样才是被允许的

( 写后台的出差了, 短时间是没法改了 )


(2018/11/26)初步的解决方案 :

PS : 有童鞋说直接利用 webpackproxyTable 中可以设置, 但是找了半天的官方文档方法, 也没找着 , 有明白的朋友还望提点一下 ;

# 使用 花瓶(Charles) 远端映射(代理)本地端口 , 将指定域名映射至本机localhost :

clipboard.png

在 hosts 已经修改为 192.168.1.*** hsp.com 的背景下 ,
使用花瓶映射 http://hsp.com 至本地 localhost:8080 , 因为 http://hsp.com 下, 还有很多七里八里的站点与服务, 所以指定了 http://hsp.com/_backend , 例如:

clipboard.png

如此, 大功告成 ~ !

每次开机就启动一下花瓶就ok , 访问的时候也不是访问 localhost:8080 , 直接访问 hsp.com/_backend


真累

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文