使用相对 URL 切换到 SSL

2024-03-25

我想创建一个相对链接来切换当前协议http to https。我工作的最后一个地方在服务器上设置了一些东西,以便您可以实现这一点,但我不太记得它,而且我从来不知道它是如何工作的。

这样做的理由是,我不需要在需要在生产和开发环境之间移动的文件中硬编码服务器名称。

有没有办法让它在 IIS 6.0 中工作?


Edit:

我正在使用.NET,但我创建的“链接”不会动态生成。如果您确实想要详细信息,我在 Umbraco 中使用重定向宏,需要传入 URL。


下面是 VB.NET 中的一个简单解决方案:

Imports System.Web.HttpContext

Public Shared Sub SetSSL(Optional ByVal bEnable As Boolean = False)
  If bEnable Then
    If Not Current.Request.IsSecureConnection Then
      Dim strHTTPS As String = "https://www.mysite.com"
      Current.Response.Clear()
      Current.Response.Status = "301 Moved Permanently"
      Current.Response.AddHeader("Location", strHTTPS & Current.Request.RawUrl)
      Current.Response.End()
    End If
  Else
    If Current.Request.IsSecureConnection Then
      Dim strHTTP As String = "http://www.mysite.com"
      Current.Response.Clear()
      Current.Response.Status = "301 Moved Permanently"
      Current.Response.AddHeader("Location", strHTTP & Current.Request.RawUrl)
      Current.Response.End()
    End If
  End If
End Sub

Usage:

'Enable SSL
SetSSL(True)

'Disable SSL
SetSSL(False)

您可以将其添加到每个页面的 Page_Load 中。或者您可以像我一样,创建一个要在 global.asax 中保护的文件夹或页面列表,并在 Application_BeginRequest 方法中相应地设置 SSL。这将适用于相对链接,并且页面的 HTTP 或 HTTPS 状态将始终是您在代码中指定的状态。

我在几个网站上都有此代码。但举个例子,如果你去https://www.techinsurance.com https://www.techinsurance.com您会注意到它会自动重定向到 http,因为主页不需要受到保护。如果您尝试访问需要保护的页面,例如http://www.techinsurance.com/quote/login.aspx http://www.techinsurance.com/quote/login.aspx

您可能会注意到我正在使用 301(永久)重定向。这里的附带好处是搜索引擎将根据 301 重定向代码更新其索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用相对 URL 切换到 SSL 的相关文章

  • OkHttp javax.net.ssl.SSLPeerUnverifiedException:主机名domain.com未验证

    我几天来一直在努力让它发挥作用 我正在尝试通过以下方式连接到我的服务器https带有自签名证书 我认为现在没有任何页面或示例是我未读过的 我做了什么 按照本教程创建了 bks 密钥库 http blog crazybob org 2010
  • Bootstrap 轮播中的 Href

    我一直在Interwebz上搜索 但似乎找不到答案 如何在轮播链接中添加 href 我尝试将 a 标签放在 h1 标签之外 但它破坏了滑块本身的功能 这是我的代码 div class col sm 12 div class carousel
  • 在 iframe/对象标签内运行时更新初始路由器 url

    我目前正在容器 主 Vue 应用程序的对象标签 iframe 也可以工作 内渲染 Vue 应用程序 首先 我设置一个文件服务器 为该容器或请求的子应用程序提供服务 以在 div 内呈现 为了简单起见 我将仅显示 Node Express 服
  • 防止 Skype 突出显示损坏文本区域

    简而言之 一个文本区域以编程方式填充了电话号码 并安装了 Skype 插件 生成突出显示标签 Thus 418 555 1234 becomes begin of the skype highlighting 418 555 1234 en
  • 当输入集中在移动 Safari 上时,页面底部出现不需要的填充

    我正在移动 safari 上使用文本区域 当文本区域聚焦时 视口似乎会在文档下方添加填充 当检查和选择区域时 它不会解析为元素 甚至不会解析为 html 节点 文本区域在屏幕上的位置或是否绝对位置似乎并不重要 当其聚焦时 填充始终存在 有时
  • 如何使用 rustls 库建立 TLS 连接?

    The 文档 https docs rs rustls 0 10 0 rustls 提供了一个例子 不幸的是它不能编译 很多东西都被重命名了 界面也被重命名了ClientSession构造函数改变了 我设法将错误修复到可以编译的程度 但没有
  • Javascript:自动点击按钮?

    我正在学习如何编写 chrome 扩展 而且我对 javascript 还很陌生 这是一些 html div class button data a class button1 whiteColor href http link1 com
  • 禁用页面的浏览器打印选项(页眉、页脚、边距)?

    我在 SO 和其他几个网站上看到过以几种不同的方式提出这个问题 但大多数都太具体或过时了 我希望有人能在这里提供明确的答案 而不是迎合猜测 当有人在浏览器中打印时 有没有办法使用 CSS 或 javascript 更改默认打印机设置 当然
  • 美丽的汤从谷歌搜索中提取href

    谷歌搜索给出了以下 HTML 的第一个结果 h3 class r a href https rads stackoverflow com amzn click com 0470284889 class l vst em Quantitati
  • 如何使用 D3 (或只是 javascript)将表单选项设置为“选择”

    有没有一种方法可以搜索选择表单元素中的所有选项 并将具有匹配值的选项指定为 已选择 var xStat G var statOptions Points PTS Goals G Assists A Penalty Minutes PIM c
  • 如何使用固定位置 div/ 的浮动、清除和溢出元素并排对齐两个 div/

    所以我一直在尝试将两个 div 并排对齐而不重叠 我有一个 div 将被固定为侧边栏 而右侧的 div 将被固定为内容 希望有人可以帮助我 body background color 444 margin top 0 margin bott
  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • Jquery 动画与 CSS 浮动

    我的代码有问题 宽度似乎可以工作 但浮动没有 这里是 这是一个例子 http jsfiddle net v82ck http jsfiddle net v82ck 问题 悬停时菜单上的浮动属性不会改变 我希望每个菜单元素下方的线在悬停该菜单
  • 大小相同的表格单元格填充包含表格的整个宽度

    有没有办法使用 HTML CSS 具有相对大小调整 使一行单元格拉伸其所在表格的整个宽度 单元格的宽度应该相等 并且外表的大小也是动态的 table width 100 目前如果我不指定固定大小 单元格只是自动调整大小以适应其内容 您甚至不
  • Typeahead.js 干扰 Bootstrap 输入组

    如何防止 Typeahead js 拆分我的 Twitter Bootstrap 3 输入组 每当我将 Typeahead javascript 指向属于输入组一部分的文本区域时 连接的文本区域和提交按钮就会停止连接 这只是 Typeahe
  • 在 C++ 和 Windows 中使用 XmlRpc

    我需要在 Windows 平台上使用 C 中的 XmlRpc 尽管我的朋友向我保证 XmlRpc 是一种 广泛可用的标准技术 但可用的库并不多 事实上 我只找到一个库可以在 Windows 上执行此操作 另外一个库声称 您必须做很多工作才能
  • 使用后代选择器的响应式网站

    我试图使用媒体查询使我的网站响应 但是当我在代码的某些部分使用后代选择器时 页面没有响应 当我使用此代码时 该页面是响应式的 div1 float left width 20 height 200px background color re
  • Safari 的 Javascript 与 document.write 的问题

    我的问题只发生在 Safari 上 IE FF Chrome 和 Opera 都可以完美运行 我正在向 DOM 添加一个对象 与 YouTube 的方式完全相同 具体取决于 ActiveX 或 NPAPI 因此在确定写入对象类型后 我通过以
  • 如何使盒子阴影显示在容器中的下一个元素上?

    请看这段代码 http codepen io Varin pen kkGgVd http codepen io Varin pen kkGgVd div class container div class outside2 div clas
  • addEventListener keydown 不起作用

    我在互联网上找到了一些基本的 Pong 代码 并尝试添加按键 代码在这里 http cssdeck com labs ping pong game tutorial with html5 canvas and sounds http css

随机推荐

  • 使用 Linq 与自定义 IEqualityComparer 相交

    长话短说 我有 2 个对象集合 一个包含好的值 我们称之为 Good 另一个包含默认值 Default 先生 我想要良好和默认以及默认之间的并集 换句话说 相交 并集 Good 默认 默认 人们可能认为它解析为默认值 但这就是它变得棘手的地
  • 如何从map/filter等执行异步操作(即返回Future)?

    我有一个DataSet map需要从外部 REST API 提取数据的操作 REST API 客户端返回一个Future Int 是否有可能拥有DataSet map操作以某种方式等待这个Future异步 或者我需要使用来阻止线程Await
  • 如何确定用户是否按下 UITableViewCell 2 秒?

    我正在使用手势识别器 初始化于viewDidLoad UILongPressGestureRecognizer longPressRecognizer UILongPressGestureRecognizer alloc initWithT
  • 如何使用jquery取消绑定mouseleave点击

    我有一个 div 当您鼠标输入时 它会预览正在显示的图像 当您鼠标离开时 它会再次隐藏它 我想要实现的是 当您单击该 div 时 它会动画并显示 但我想随后取消绑定 mouseleave 功能 以便图像保留在不起作用的屏幕上 mousele
  • 从插入符递归特征消除 (rfe) 结果中检索选定的变量

    在我的工作项目中 我使用 caret 包中的 rfe 函数来进行递归特征消除 我用一个玩具例子来说明我的观点 library mlbench library caret data PimaIndiansDiabetes rfFuncs su
  • 如何对 scipy.sparse.csr_matrix 类型的矩阵进行元素运算?

    在 numpy 中 如果你想计算矩阵每个条目的正弦 元素化 那么 a numpy arange 0 27 3 reshape 3 3 numpy sin a 会完成工作的 如果你想要力量 让我们说每个条目 2 个 a 2 会做的 但如果你有
  • 将参数发送到驻留在另一个进程中的应用程序实例

    我有一个单实例应用程序 c WPF net3 51 检查应用程序是否已实例化是通过互斥体完成的 如果应用程序已在运行 我会从已打开的应用程序实例中打开一个新窗口 到目前为止效果很好 但是 由于应用程序扩展 我现在必须将 e Args 或至少
  • C# .net读取.mdb文件

    我有必要使用 C net 编写一个应用程序来编辑特定的 mdb 文件 它纯粹是一个部门内应用程序 用于读取部门内文件 有争议的是 这些文件不应该是 mdb 文件 但我在这方面没有选择 我正在推动更改为 XML 文件 但那是另一回事 这些文件
  • PlotLegends 使 Manipulate[] ing 图形变得慢如爬行

    我设置了一个简短的程序 使用 Manipulate 显示具有不同参数的相同函数的三个图 我想用参数的值来标记每个函数 我的出发点是让一个传奇人物出现 在绘图中添加 PlotLegend 会导致 Mathematica 变得异常缓慢 我的代码
  • C# 中两个 List<> 相交

    我有两个List
  • Three.js 在平面上旋转相机

    我的应用程序中有一个相机 camera new THREE PerspectiveCamera 75 window innerWidth window innerHeight 0 1 1000 camera position z 1 cam
  • Python OOP 继承:方法解析顺序 (MRO)

    当我使用方法解析顺序 MRO 时 输出存在变化 任何人都可以解释为什么结果会出现这种差异 class A def init self pass def abc self print A class B A def init self pas
  • Python 字符串的所有可能组合

    你好 我正在使用 python 我正在尝试编写一个方法 其中给定一个字符串 它会找到该字符串的每个组合并将其附加到列表中 我将给出字符串并显示我想要的结果 string x god outcome lst g o d go gd og od
  • Passport.js + Express.js 在身份验证后将用户转发到原始目的地

    我有一个应用程序 服务器上是 Node Express Passport 客户端上是 jQuery Backbone js 客户端在 URL 中使用哈希标签 但对于某些功能来说 用户登录非常重要 我希望可以通过 URL 访问该应用程序 例如
  • PHP 阿拉伯文文本使用 strpos 进行比较

    我在 mysql 表中有一个阿拉伯语关键字 例如 1591 1610 1585 1575 1606 请考虑用 代替 带有 的值会自动转换为阿拉伯语 Mysql表编码 utf8 general ci 我从外部资源示例 twitter 中获取一
  • laravel 5 - css 文件未在资产清单中定义?

    我收到 laravel 5 的错误消息 我不明白 Next exception ErrorException with message File build css all css not defined in asset manifest
  • 在 C++ 中如何知道数组包含多少个元素? [复制]

    这个问题在这里已经有答案了 例如 我有一个包含 3 个元素的数组 int array 1 4 66 我怎么知道有多少个元素array包含 执行此操作 std size myarray std size https en cppreferen
  • 无法导入 play.api.db.databases

    我正在 Scala Play 2 5 4 中开发一个应用程序 我想测试我的数据库交互 并尝试通过中推荐的方法来测试这一页 https www playframework com documentation 2 5 x ScalaTestin
  • 如何从命令行使用密码生成 openSSL 密钥?

    首先 如果我不提供密码会怎样 是否使用了某种伪随机短语 我只是在寻找 足够好 的东西来阻止休闲黑客 第二 如何从命令行生成密钥对 并在命令行上提供密码 我终于使用这些命令让它工作 使用 exec 通常认为使用不安全 最好在文件中给出 Pas
  • 使用相对 URL 切换到 SSL

    我想创建一个相对链接来切换当前协议http to https 我工作的最后一个地方在服务器上设置了一些东西 以便您可以实现这一点 但我不太记得它 而且我从来不知道它是如何工作的 这样做的理由是 我不需要在需要在生产和开发环境之间移动的文件中