Coder Social home page Coder Social logo

Comments (14)

Lorna0 avatar Lorna0 commented on June 11, 2024

我们这些都考虑过,恰好就是对师傅说的几个问题的背景有疑问:

“当有的站点需要HTTP和HTTPS两种方式都支持的情况,显然这个不能满足需求。”

什么时候需要呢?HTTP 明文是不安全的,如果网站只有 HTTP 服务就算了,可能是内网服务。但是如果明明已经有一个安全的 HTTPS 端口了,为啥还要支持 HTTP 呢。

“且无需端口为HTTP/80,HTTPS/443才生效;只要这个站点存在http和https两种类型,这个强制HTTPS就会生效。”

啥情况需要其他端口跳转呢?体感 80 -> 888/ssl、8080 -> 8888/ssl 这种非标端口的跳转好像都没见过,应该是因为本身就不太符合一般网站用户的使用逻辑。

from safeline.

luweijun1992 avatar luweijun1992 commented on June 11, 2024

对于一些不是面向大众的站点,比如部分员工才会用到的OA、ERP等系统。会有客户将其修改为非443端口;
这个时候是不是可以访问这个域名http/80,将其跳转至https/8443;

from safeline.

zclaiqcc avatar zclaiqcc commented on June 11, 2024

非标准端口的话,也不会监听 80 端口作为 HTTP 吧?这种非标准端口我理解都是只配置一个端口允许访问即可,而且如果有 HTTP 请求到了这个 HTTPS 端口,通过 error 497 也能跳转到 HTTPS。但是访问 80 跳转到 8443 这种端口的真实场景我还是比较存疑,真的会有么?留着看看点赞吧

from safeline.

zclaiqcc avatar zclaiqcc commented on June 11, 2024

额外补充一点小发现,雷池社区版很多功能都是直接做成全局的,最开始都会有师傅说是不是支持站点级的比较好,但是实际上又看不到真实需求场景。很多场景都是臆想出来的,实际上并不需要,或者说即使真的需要,也可以自己通过各种方式搞定。比如群也看到有师傅需要 location 级别的站点配置,实现就更复杂了。实际上可以通过二级、三级域名等方式来实现相同的效果,而且技术方案上更灵活和解耦。

实现成站点级的至少有几个问题:

  1. 配置的交互和页面设计都会更复杂了。编辑的时候每个站点都要改,漏了就不生效,如果有几十个站点要配置?配置页面多了很多按钮(就现在仅有的几个输入框已经很多师傅不知道如何配置了),可能很多师傅又用不到,看到又会有疑问说这些都是啥,增加认知负担,也会觉得整个系统很复杂。希望能尽量 keep simple,如果用户没有必要去做某件事,就不需要让他们看见这个配置就好了,类似隐藏式设计感觉更好一些。
  2. 技术实现更复杂,毕竟细粒度不一样,精细化控制就需要更精细化的代码区分。

我理解社区版更多是提供标准化的解决方案,而不是特别小众的定制化需求满足,很多时候用户希望某个具体的页面配置,只是根据以往的认知惯性,陷入了 X-Y 问题 里面。忽略了其实有更好的解决方案,或者之前自己的配置是不正确的(但是也生效了)。当然我们自己也无法判断是否小众,所以通过大家对 GitHub issue 的点赞就能更清晰地知道这些需求是真实存在的,还是少数人才有的,甚至是个人师傅臆想的 😄

from safeline.

Lorna0 avatar Lorna0 commented on June 11, 2024

对于一些不是面向大众的站点,比如部分员工才会用到的OA、ERP等系统。会有客户将其修改为非443端口; 这个时候是不是可以访问这个域名http/80,将其跳转至https/8443; @luweijun1992

如果把 8443/ssl 服务,配置成 80 可以直接跳转,那直接访问域名就可以打开。这样听上去其实和直接面向大众、配到 443 上效果差不多了。

我们内部想了类似几个场景和需求,结论是好像都说不太通。确实很多企业级 WAF 都支持按站点配置、自定义端口转发,但是那样界面也会比较复杂。先收集下大家意见吧,看看有没啥确实需要分开配的场景。

from safeline.

luweijun1992 avatar luweijun1992 commented on June 11, 2024

对于一些不是面向大众的站点,比如部分员工才会用到的OA、ERP等系统。会有客户将其修改为非443端口; 这个时候是不是可以访问这个域名http/80,将其跳转至https/8443; @luweijun1992

如果把 8443/ssl 服务,配置成 80 可以直接跳转,那直接访问域名就可以打开。这样听上去其实和直接面向大众、配到 443 上效果差不多了。

我们内部想了类似几个场景和需求,结论是好像都说不太通。确实很多企业级 WAF 都支持按站点配置、自定义端口转发,但是那样界面也会比较复杂。先收集下大家意见吧,看看有没啥确实需要分开配的场景。

对于一些非官网的业务系统,软件厂商会使用非443,而使用8443、9443等端口的情况。
这个时候用户去访问就要输入域名+端口才能访问到。
管理员就会配置访问域名,跳转至非443端口。
如下:
image

from safeline.

Lorna0 avatar Lorna0 commented on June 11, 2024

@luweijun1992
对于一些不是面向大众的站点,比如部分员工才会用到的OA、ERP等系统。会有客户将其修改为非443端口; 这个时候是不是可以访问这个域名http/80,将其跳转至https/8443;

@Lorna0
如果把 8443/ssl 服务,配置成 80 可以直接跳转,那直接访问域名就可以打开。这样听上去其实和直接面向大众、配到 443 上效果差不多了。

我们内部想了类似几个场景和需求,结论是好像都说不太通。确实很多企业级 WAF 都支持按站点配置、自定义端口转发,但是那样界面也会比较复杂。先收集下大家意见吧,看看有没啥确实需要分开配的场景。

@luweijun1992
对于一些非官网的业务系统,软件厂商会使用非443,而使用8443、9443等端口的情况。
这个时候用户去访问就要输入域名+端口才能访问到。
管理员就会配置访问域名,跳转至非443端口。
如下:
image

这种情况下,既然前面准备加个 waf 代理防护,那其实可以直接配置成 80、443/ssl ,不需要暴露非标端口了。类似这样:

server {
    listen 80;
    server_name box.example.com;

    location / {
        return 301 https://$host:443;
    }
}
server {
    listen 443 ssl;
    server_name box.example.com;
    # 中间略
    # 反向代理
    location / {
        proxy_pass http://127.0.0.1:6443;
    }
}

这种是可以在目前的界面上配出来的。

from safeline.

zhuanmentiwen avatar zhuanmentiwen commented on June 11, 2024

这种需求我们也存在。。

from safeline.

Lorna0 avatar Lorna0 commented on June 11, 2024

@zhuanmentiwen
这种需求我们也存在。。

师傅有需求可以分享一下具体背景。目前讨论还没有找到这个需求的实际应用场景。

from safeline.

OnionTop avatar OnionTop commented on June 11, 2024

对于一些不是面向大众的站点,比如部分员工才会用到的OA、ERP等系统。会有客户将其修改为非443端口; 这个时候是不是可以访问这个域名http/80,将其跳转至https/8443; @luweijun1992

如果把 8443/ssl 服务,配置成 80 可以直接跳转,那直接访问域名就可以打开。这样听上去其实和直接面向大众、配到 443 上效果差不多了。

我们内部想了类似几个场景和需求,结论是好像都说不太通。确实很多企业级 WAF 都支持按站点配置、自定义端口转发,但是那样界面也会比较复杂。先收集下大家意见吧,看看有没啥确实需要分开配的场景。

我实际遇到的一个实际场景是:客户要求站点必须https且不允许开放http,也就是服务器只给开放443端口权限,但是这时候想通过http://ip:443跳转至https://ip:443只能通过error 497来实现,所以我感觉还是能增加这个功能

from safeline.

Lorna0 avatar Lorna0 commented on June 11, 2024

我实际遇到的一个实际场景是:客户要求站点必须https且不允许开放http,也就是服务器只给开放443端口权限,但是这时候想通过http://ip:443跳转至https://ip:443只能通过error 497来实现,所以我感觉还是能增加这个功能

ERROR 497 现在是每个 https 端口都默认开启了,这样确实方便点。

from safeline.

d960124 avatar d960124 commented on June 11, 2024

这种需求我们也存在,不同的业务站,有需要保留HTTP HTTPS 都可用,有的需要强制HTTPS

from safeline.

Nuyoah66 avatar Nuyoah66 commented on June 11, 2024

对单站点配置强制https还是很有必要的,毕竟不是所有网站都需要配置https。我有些场景还需要对单站点进行强制http的场景呢

from safeline.

Lorna0 avatar Lorna0 commented on June 11, 2024

对单站点配置强制https还是很有必要的,毕竟不是所有网站都需要配置https。我有些场景还需要对单站点进行强制http的场景呢

想用 http 的话就加个 http 端口就行,这个配置不同时添加 80、443/ssl 的话是不会强制 https 的
image

from safeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.