baidu.com直接访问网站,不跳转www.baidu.com
平常最多的需求是将baidu.com指向全域名www.badu.com,但是往往需求是各种各样,这两天就遇到一个反向需求。将baidu.com直接访问网站,而不做跳转。
最近两天在给域名证书续费,但是需要外国证书认证机构给域名注册时留的邮箱发邮件确认,发了几次邮件,仍然没有收到邮件。于是,协商决定在网站下面放一个认证码,让国外访问来确定域名归属。
以下把我在配置过程中遇到的问题总结如下:
1、tomcat下新建目录下文件访问404
接到这个问题,想着很简单,在站点目录下面创建一个文件,然后全路径访问就好了,但是当真的这么做了以后,才发现事情并没有那么简单,检查过权限啊,重启啊,总是404.然后网上查资料,各种回答都有,有的说把web.xml放到新建目录下,照做后,问题
仍然没有解决。咨询了开发后,才知道开发在springMVC.xml下配置了启动tomcat后加载的资源和要拦截的地址(目录地址)。比如我要访问www.baidu.com/.well-known/1.txt,那么我就要在springMVC.xml下添加下面两行内容:
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <context:component-scan base-package="com.hengxin.qianee.controller" /> <mvc:annotation-driven /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/skippr/**" location="/skippr/" /> ....... <mvc:resources mapping="/sitemap.txt" location="/" /> <mvc:resources mapping="/sitemap.xsl" location="/" /> <mvc:resources mapping="/silian.txt" location="/" /> <mvc:resources mapping="/.well-known/**" location="/.well-known/" /> <mvc:interceptors> <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 --> <mvc:interceptor> <mvc:mapping path="/**"/> <!-- 需排除拦截的地址 --> <mvc:exclude-mapping path="/.well-known/**"/> <mvc:exclude-mapping path="/css/**"/> <mvc:exclude-mapping path="/images/**"/> <mvc:exclude-mapping path="/js/**"/> <mvc:exclude-mapping path="/skippr/**"/> <mvc:exclude-mapping path="/account/getCity"/> <mvc:exclude-mapping path="/account/getAreas"/>
2、使用baidu.com直接访问网站。
原本网站做的跳转,如果输入baidu.com的时候自动跳转到www.baidu.com,但是现在认证方需要实现不要直接跳转,而是直接访问baidu.com/.well-known/1.txt,获取到认证方发来的认证码(这个认证码是事先发过来的,只要放到这个1.txt中即可),而我们网站做的多层跳转,如下图:
server { listen 80; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name www.baidu.com; location ^~/front/aboutUs/aboutUs/9 { proxy_pass http://baidu; } location / { rewrite ^(.*) https://www.baidu.com$1 permanent; } } server { listen 80; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name baidu.com; location ^~/front/aboutUs/aboutUs/9 { proxy_pass http://baidu; } rewrite ^(.*) http://baidu.com$1 permanent; } server { listen 443; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name www.baidu.com; ssl on; ssl_certificate /data/src/baidu.crt; ssl_certificate_key /data/src/baidu.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location ^~/front/aboutUs/aboutUs/9 { rewrite ^(.*) http://www.baidu.com$1 permanent; } location / { proxy_pass http://baidu; } } server { listen 443; ssl on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name baidu.com; ssl_certificate /data/src/baidu.crt; ssl_certificate_key /data/src/baidu.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; rewrite ^(.*) https://www.baidu.com$1 permanent; location / { proxy_pass https://baidu; } }nginx.conf 本来想把其中的baidu.com的跳转给取消掉,结果,测试结果显示跳转太多,无法显示;然后又想把443的跳转和其他的多余的跳转都注销掉,测试结果显示了404,上述两种方法都否决了。
查阅了一番资料,仍然未果。
于是咨询了朋友,他们建议把80和443的虚拟主机配置上别名。但是仔细检查了下配置文件,心想即使配置上别名,仍然会将baidu.com跳转到www.baidu.com;但是仍然抱着破罐破摔的心态,决定尝试下,结果配置完后,居然成功了。
下面是配置过后的配置文件:
server { listen 80; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name www.baidu.com baidu.com; location ^~/front/aboutUs/aboutUs/9 { proxy_pass http://baidu; } location / { rewrite ^(.*) https://www.baidu.com$1 permanent; } } server { listen 443; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server_name www.baidu.com baidu.com; ssl on; ssl_certificate /data/src/baidu.crt; ssl_certificate_key /data/src/baidu.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location ^~/front/aboutUs/aboutUs/9 { rewrite ^(.*) http://www.baidu.com$1 permanent; } location / { proxy_pass http://baidu; } }
注:以上网站网址baidu.com是化名,并非真正网站网址。为保护网站信息,借用而已。
- tomcat URL简写案例:模拟网站www.baidu.com的访问
- 个人网站不输入www.直接domain.com访问不了,输入www.domain.com能访问
- java+oracle+web(第七天) tomcat介绍 (四)实现https://www.igo.com 直接访问我的主页
- haproxy 访问www.zjdev.com 自动跳转到appserver_8001 对应的nginx
- haproxy 访问www.zjdev.com 自动跳转到appserver_8001 对应的nginx
- 访问某些网站,如www.sohu.com或其它一些较大网站,会提示[内存不足],或者[內容过大, 无法显示]
- linux 命令访问url: curl http://www.baidu.com/index.html
- EMS (www.ems.com.cn不能直接访问)查询解决方案
- phpcms的后台网站直接访问正常,百度快照收录链接访问跳转到非法网站
- apache实现手机访问www网站自动跳转到WAP站点
- 【奇怪的问题】不能通过“www.baidu.com”域名访问百度
- 在google浏览器中输入www.baidu.com被自动跳转到2345首页的解决方法
- 我的新网站www.kisshc.com欢迎大家访问提意见
- 火狐打开百度首页自动跳转到如下网页:http://www.baidu.com/baidu.html?from=noscript
- Android模拟器访问google网站获取天气信息时,出现 java.net.UnknownHostException: www.google.com 错误
- openstack创建的云主机不能访问外网,不能ping www.baidu.com
- 欢迎访问个人技术网站http://www.dianfusoft.com/
- google 打不开解决方法,请直接访问 https://www.sssis.com
- 复制网站内容 本程序将网站“www.baidu.com”首页的内容复制保存在文件test.html中。
- 访问www.baidu.com后会发生什么(一次完整的网络通讯过程)