我正在尝试使用Django框架开发一个网站,并使用DigitalOcean.com启动并将必要的文件部署到django-project中.
我不得不将静态文件包含到Django-project中并且在收集静态文件之后,我尝试刷新我的ip
我包括了我用来创建网站的教程. https://www.pythonprogramming.net/django-web-server-publish-tutorial/
我收到以下错误:
DisallowedHost at/Invalid HTTP_HOST标题:'198.211.99.20'.您可能需要将u'198.211.99.20'添加到ALLOWED_HOSTS.
有人可以帮我解决这个问题吗?这是我第一个使用Django框架的网站.
自从我部署了一个运行Django 1.7 alpha的站点(从Git检出)后,我偶尔会收到错误消息,标题如下:
"HTTP_HOST标头无效:'xxx.xxx.com'"
我意识到这是由于Host:
HTTP标头被设置为未列出的主机名ALLOWED_HOSTS
.但是,我无法控制某人使用伪造主机名向服务器发送请求的时间和频率.因此,我不需要一堆错误电子邮件让我知道其他人正试图做一些可疑的事情.
有没有办法禁用此错误消息?项目的日志记录设置如下所示:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
Run Code Online (Sandbox Code Playgroud) 我对这两个服务器变量之间的区别感到困惑.检查IIS文档,它指出: -
返回Web服务器的名称.这可能与SERVER_NAME相同,也可能不同,具体取决于您在Web服务器上使用的名称解析类型(IP地址,主机头).
服务器的主机名,DNS别名或IP地址,与自引用URL中显示的一样.
有人可以举一些例子说明它们有何不同?
我们的网络服务器中有2个IIS网络服务器..每个网站都有2个网站(当然,每个服务器相同).
每个网站都有大约5个左右的绑定.
那么......价值观是什么?有什么不同?
我在搜索我的网站时有一个自动完成/提前输入功能.我看到有一段时间他们是与之相关的例外.我们正在使用代理服务器.
org.apache.http.conn.HttpHostConnectException: Connection to http://proxy.xyz.com:60 refused
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:159)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
at com.xxx.dd.sone.integration.SearchDAO.getJSONData(SearchDAO.java:60)
at com.xxx.dd.sone.integration.SearchDAO.searchAutoCompleteResults(SearchDAO.java:560)
at com.xxx.dd.sone.presentation.util.SearchAutoCompleteUtil.doGet(SearchAutoCompleteUtil.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:845)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:236)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1512)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:147)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:119)
Run Code Online (Sandbox Code Playgroud)
引起:java.net.ConnectException:连接被拒绝
这是我编码的方式
public HashMap<String, Object> getJSONData(String url)throws Exception {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpParams params = httpClient.getParams();
try {
HttpConnectionParams.setConnectionTimeout(params, 10000);
HttpConnectionParams.setSoTimeout(params, 10000);
} catch …
Run Code Online (Sandbox Code Playgroud) 我创建了一个带有Nginx,Gunicorn,Django堆栈的Django(1.7)Web应用程序,最近我开始遇到一些错误:
[Django]错误(外部IP):无效的HTTP_HOST标头:'*.domain.com'.根据RFC 1034/1035,提供的域名无效.
在搜索之后,我发现了一些响应,建议将通配符作为允许的主机,即
ALLOWED_HOSTS = ['*']
Run Code Online (Sandbox Code Playgroud)
但是我仍然遇到这个错误.
这是完整的错误消息:
Request repr():
<WSGIRequest
path:/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{},
META:{'HTTP_ACCEPT_ENCODING': 'none',
'HTTP_CONNECTION': 'close',
'HTTP_HOST': '*.domain.com',
'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)',
'HTTP_X_FORWARDED_FOR': '11.111.111.11',
'HTTP_X_FORWARDED_HOST': 'subdomain.domain.com',
'HTTP_X_REAL_IP': '11.111.111.11',
'PATH_INFO': u'/',
'QUERY_STRING': '',
'RAW_URI': '/',
'REMOTE_ADDR': '127.0.0.1',
'REMOTE_PORT': '51349',
'REQUEST_METHOD': 'GET',
'SCRIPT_NAME': u'',
'SERVER_NAME': '127.0.0.1',
'SERVER_PORT': '9000',
'SERVER_PROTOCOL': 'HTTP/1.0',
'SERVER_SOFTWARE': 'gunicorn/19.1.1',
'gunicorn.socket': <socket._socketobject object at 0x3877fa0>,
'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWraper object at 0x37e6050>,
'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>,
'wsgi.input': <gunicorn.http.body.Body object at 0x396cc50>, …
Run Code Online (Sandbox Code Playgroud) Apache mod_rewrite:解释我%{HTTP_HOST},特别是在使用addon域时
具有插件域的Apache服务器上的情境(目录树):
main-domain.com/
|
|_ .htaccess (just an empty file, no rule in here)
|_ index.html (shown when accessing http://main-domain.com)
|
|_ addon-domain-1.com/
| |
| |_ .htaccess
| |_ index.html (shown when accessing http://addon-domain-1.com or http://main-domain.com/addon-domain-1.com/)
|
|_ addon-domain-2.com/
|
|_ .htaccess
|_ index.html (shown when accessing http://addon-domain-2.com or http://main-domain.com/addon-domain-2.com/)
Run Code Online (Sandbox Code Playgroud)
让我们说"addon-domain-1.com/.htaccess"文件我有一些使用%{HTTP_HOST}的规则,如:
RewriteCond %{HTTP_HOST} ^something$
Run Code Online (Sandbox Code Playgroud)
是否%{HTTP_HOST}
评估服务器上当前请求的URL的域???
所以如果要求:
%{HTTP_HOST} will be "addon-domain-1.com"?
Run Code Online (Sandbox Code Playgroud)
http://addon-domain-1.com(没有最终斜杠)
%{HTTP_HOST} will still be "addon-domain-1.com"?
Run Code Online (Sandbox Code Playgroud)
%{HTTP_HOST} will still be "www.addon-domain-1.com"?
Run Code Online (Sandbox Code Playgroud)
当要求:
我编写了一个PHP脚本,我想在同一台服务器上的几个域上使用(指向相同的脚本).我想为脚本添加功能,以便我可以随时找出脚本正在使用哪个域.HTTP_HOST可用于查找域,但是,我已经读过它不可靠,特别是对于旧浏览器.我的理解是大多数Apache服务器都使用相同的方法使用相同的方法,所以如果它不是主机提供商的问题,它应该不是我的代码的问题.
任何人都可以验证这一点并清除混淆吗?
假设我通过http://www.mypage.com/test.aspx访问了一个远程页面.在那个页面上,我使用代码Request.ServerVariables ["HTTP_HOST"].ToString().是否有可能当我访问该页面时,代码可以返回一个不同于我在网址栏http://www.mypage.com/test.aspx中看到的网址?任何帮助,将不胜感激.谢谢.
我有一个子域名ABC.mydomain.com
,$_SERVER['HTTP_HOST']
我想将其更改为另一个域名anotherdomain.com
.Anotherdomain.com
也是我拥有的一个.是否有可能在全球范围内改变这个变量($_SERVER['HTTP_HOST'])
使用.htaccess
?如果是这样,怎么样?
我对 .net 还是个新手......我试图找到打印 aspx.cs 文件当前正在执行的域名的变量。我来自 PHP 土地,它有 $_SERVER['SERVER_NAME'] 或 $_SERVER['HTTP_HOST']。这些变量的 .net 等效项是什么?
谢谢
我无法让它工作.htaccess的这部分,IfDefine
永不运行.我做错了什么,setenvif
启用了mod.
RewriteBase /
SetEnvIf HTTP_HOST ^localhost$ local
<IfDefine local>
RewriteBase /codeigniter-app/
</IfDefine>
SetEnvIf HTTP_HOST ^testing.alex.com$ testing
<IfDefine testing>
RewriteBase /app/
</IfDefine>
Run Code Online (Sandbox Code Playgroud)
这是基于:使用mod_rewrite可以在RewriteCond中指定RewriteBase吗?
编辑: 完成上述任何其他方式?
我想在我的页面上放置链接.
我用
echo "<a href=\"".$_SERVER['HTTP_HOST']."/projecten/project.php?project=1";
Run Code Online (Sandbox Code Playgroud)
我想去,mydomain.nl/project/project.ph?project=1
但我得到的不是那个链接http://mydomain.nl/projecten/mydomain/projecten/project.php?project=1
我以为
$_SERVER['HTTP_HOST']
Run Code Online (Sandbox Code Playgroud)
会给我http://mydomain.nl
,为什么不这样做呢?
如何获取主机地址?例如,我的网站位于此处:http://example.org/index/news/ 我只想提取http://example.org/。
我想问一下ZF功能。我知道 $_SERVER['HTTP_HOST'] 但我正在寻找原生的东西。