IIS管理器将http重定向成https,有问题!

img


**前提**:这项目是由IIS(8.5)管理器控制启动的,我想将其中一个网站由http改成https的。
**问题**:改了之后就必须在该域名后面前加上https网站才能显示出来,而直接输入域名 "www.域名.com" 或 "域名.com"就会报这种404错误。目前 ”HTTP重置“、”SSL设置“ 、”URL重写“里面是没启动的。

img

2、将”HTTP重置“启动后,无论是直接输入域名还是加上https都是无法显示页面

img


img

3、将”SSL设置“启动后,只有加上https的是显示页面的,而直接输入域名的是无法显示页面

img

4、”URL重写“,我是改成这样了。启动后,只有加上https的是显示页面的,而直接输入域名的是无法显示页面或者404页面

img


img

我是想直接输入域名也能登陆网站的!我现在是没办法呢!不知道你们有什么办法?

参考下:https://www.jb51.net/article/246492.htm

参考GPT和自己的思路:您可以尝试以下步骤解决该问题:

1 确保已安装和启用了正确的SSL证书,以确保HTTPS网站的安全性。

2 在IIS中启用HTTP到HTTPS的重定向:

a. 在IIS管理器中,选择要启用重定向的网站,右键单击并选择“打开”。

b. 点击“HTTP重定向”。

c. 在“HTTP重定向”窗口中,勾选“将HTTP重定向到HTTPS”,然后点击“应用”和“确定”。

d. 重启IIS服务,以使更改生效。

3 确保已正确配置网站的绑定:
a. 在IIS管理器中,选择要配置绑定的网站,右键单击并选择“编辑绑定”。

b. 添加一个新的绑定,将类型设置为“https”,并选择正确的SSL证书。

c. 确保“主机名”字段包含您的域名。

d. 点击“确定”保存更改,并重启IIS服务以使更改生效。

4 确保正确配置URL重写规则:
a. 在IIS管理器中,选择要配置URL重写规则的网站,右键单击并选择“打开”。

b. 点击“URL重写”。

c. 在“URL重写”窗口中,选择“添加规则”。

d. 选择“请求重定向”,并在“条件”字段中添加一个条件,以便只有当请求是HTTP请求时才进行重定向。

e. 在“操作”字段中,选择“重定向”,并将“类型”设置为“永久重定向”。

f. 在“目标URL”字段中,输入HTTPS网站的URL。

g. 点击“应用”和“确定”,保存更改。

h. 重启IIS服务,以使更改生效。

希望这些步骤能帮助您解决问题。

将一个网站由http改成https的,改了之后就必须在该域名后面前加上https网站才能显示出来,而直接输入域名 "www.域名.com" 或 "域名.com"就会报错误,如何解决

在将一个网站由http升级为https之后,输入域名“www.域名.com”或“域名.com”会因为浏览器默认使用http协议而报错。解决这个问题可以从以下几个方面入手:

1配置301重定向
在Nginx的配置文件中,添加以下代码,将http请求重定向到https:

server {
  listen 80;
  server_name domain.com www.domain.com;
  return 301 https://domain.com$request_uri;
}

使用.htaccess文件,将http请求重定向到https:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

2.修改链接
将http的链接改为https的链接,例如:

<!-- 改法一 -->
<script src="https://foo.com/jquery.js"></script>
<!-- 改法二 -->
<script src="//foo.com/jquery.js"></script>

使用canonical标签,指定网站的主要URL为https:

<link rel="canonical" href="https://foo.com/bar.html" />

3.配置HTTP Strict Transport Security (HSTS)
在Nginx的配置文件中添加以下代码:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

在Apache的配置文件中添加以下代码:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

4.修改Cookie
在网站中使用Secure标记,强制浏览器只在https连接下发送cookie:

Set-Cookie: LSID=DQAAAK...Eaem_vYg; Secure

需要注意的是,以上解决方案需要在网站的服务器上进行配置,具体实现方法可能因网站所使用的服务器以及配置文件的不同而有所差异。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
在IIS中将HTTP重定向为HTTPS的方法如下:

  1. 打开IIS管理器,选择你要更改的网站。
  2. 右键单击该网站,然后选择“编辑绑定”。
  3. 在弹出的“网站绑定”窗口中,选择对应的http绑定,然后点击“编辑”。
  4. 在弹出的“编辑网站绑定”窗口中,选择“HTTPS”协议,并选择对应的SSL证书。
  5. 点击“确定”保存设置。

至此,你已经将http重定向到https。

如果你的网站在使用HTTP重定向到HTTPS的过程中出现问题,可以按以下步骤进行排除:

  1. 确认网站目录的路径是否正确
  2. 检查网站的端口设置
  3. 确认SSL证书是否为有效证书
  4. 更新IIS服务器以确保所有补丁都已安装
  5. 确保IIS上没有其他冲突的设置

关于直接输入网站域名无法访问的问题,可以考虑在网站根目录下放置一个默认文档,例如default.aspx。

在URL重写中有个规则可以用于HTTP重定向至HTTPS,你可以在网站根目录的web.config文件中添加以下规则:

<rule name="Redirect to HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

这个规则将所有HTTP请求重定向到HTTPS。如果你希望只重定向特定页面或目录,可以进一步调整规则的条件和匹配规则。

希望这些步骤和代码可以帮助你解决问题。
如果我的回答解决了您的问题,请采纳!

确保ssl协议有效,并且URL域名定义用完整的域名,否则默认还是http这样会导致意外的冲突,系统找不到入口页