GVKun编程网logo

使用openshift在Apache服务器上设置身份validation

27

在本文中,我们将带你了解使用openshift在Apache服务器上设置身份validation在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的AD/表单身份validation、Apac

在本文中,我们将带你了解使用openshift在Apache服务器上设置身份validation在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的AD /表单身份validation、Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation、Apache HTTP客户端javax.net.ssl.SSLPeerUnverifiedException:对端未通过身份validation、Apache MyFaces Extensions Validator 1.1.1 发布

本文目录一览:

使用openshift在Apache服务器上设置身份validation

使用openshift在Apache服务器上设置身份validation

我读了这个http://www.apacheweek.com/features/userauth,并试图在Openshift中完成相同的工作,但我不知道如何。

林使用rhc和我试图通过ssh连接到我的应用程序,但我没有权限使用sudo su所以我不能继续。

例如,当我尝试创build文件nano /usr/local/etc/httpd我不能,因为我没有root权限。

> ls -la /usr/local/etc total 20 drwxr-xr-x. 2 root root 4096 jun 5 20:58 . drwxr-xr-x. 14 root root 4096 dic 11 2013 .. -rw-r--r--. 1 root root 1807 may 19 15:23 oom-kill-disable.conf -rw-------. 1 root root 1675 may 21 14:51 ops_file_transfer_upload_id_rsa -rw-r-----. 1 root root 399 jun 5 20:58 partitioner_disk_deFinitions.yaml

如果我有一个错误的方法,我会很感激你可以指导我。

WinRM无法处理请求。 错误0x80090311

更改Windows 7的login过程

SVN授权失败

MSsql连接string – 使用另一组凭据的Windows身份validation

validation已在批处理脚本中input了数字“X”

更新由于@davelopercorey现在build议我使用.htaccess文件

AuthType Basic AuthName "Authentication" AuthUserFile ${OPENSHIFT_REPO_DIR}.htpasswd Require valid-user

并添加用户和他的密码

htpasswd -cb .htpasswd myuser mypass

正在显示validation提示,但是我的用户和密码没有正确validation。

我已经使用whereis htpasswd以确保即时编写正确的path和问题仍然存在。

从PHP会话中填充apache日志文件中的远程用户

date时间select器最大值validation消息不在Windows Server 2003中工作

奇怪的窗户冒充行为

批处理脚本/ PowerShell高级条件执行

AD /表单身份validation

如果您使用的是支持.htaccess文件的磁带盒(如python或PHP),则可以将.htpasswd文件放在文件系统的任何位置。 我建议把它放在你的〜/ app-root / data目录下,然后你可以在你的.htaccess文件中指向它,并根据你放在.htaccess文件中的规则使用你想要的认证文件类型或目录等

最终的解决方案。 感谢@developercorey

在openshift中有一个叫做$ OPENSHIFT_REPO_DIR的环境变量,是你工作目录的路径,例如/var/lib/openshift/myuserlongid/app-root/runtime/repo/

我创建了一个名为SECURE的环境变量来包装文件夹路径。

rhc set-env SECURE=/var/lib/openshift/myuserlongid/app-root/data --app myappname

最后我用ssh连接到我的应用程序

rhc ssh myappname

并创建.htpasswd文件

htpasswd -c $SECURE/.htpasswd <username>

注:htpasswd的-c选项将创建一个新文件,覆盖任何现有的htpasswd文件。 如果您打算将新用户添加到现有的htpasswd文件,只需删除-c选项。

.htaccess文件

AuthType Basic AuthName "Authentication" AuthUserFile ${SECURE}/.htpasswd Require valid-user

首先使用ssh连接到服务器:

rhc ssh yourappname

然后进入app目录:

cd ${OPENSHIFT_REPO_DIR}

运行以下命令,然后复制结果:

${OPENSHIFT_REPO_DIR}

并在这个目录下创建.htaccess文件:

nano .htaccess

但在以前复制的文件中替换“/ var / lib / openshift / xxxxxxxxxxxxxxxxxxxxxxxx / app-root / runtime / repo /”,应该在.htaccess文件中:

AuthType Basic AuthName "Authentication required" AuthUserFile "/var/lib/openshift/xxxxxxxxxxxxxxxxxxxxxxxx/app-root/runtime/repo/.htpasswd" Require valid-user

然后创建.htpasswd文件:

htpasswd -c .htpasswd yourusername

然后你保存它。

我们可以使用内部的OPENSHIFT_data_dir变量,所以对于〜/ app-root / data / .htpasswd就足够了:

AuthType Basic AuthName "Authentication" AuthUserFile ${OPENSHIFT_data_dir}/.htpasswd Require valid-user

总结

以上是小编为你收集整理的使用openshift在Apache服务器上设置身份validation全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

AD /表单身份validation

AD /表单身份validation

我正在开发一个主要在内部使用的应用程序,并希望知道如何在不提示用户login的情况下自动对用户进行身份validation。

但是,当用户没有自动authentication(即他们已经通过互联网连接),我想显示一个表单,将validation用户对AD

谁能帮忙?

C#.NET应用程序在64位环境中运行时抛出ODBC驱动程序不匹配错误

如何检查是否有默认打印机(Windows)?

为什么我的WPF应用程序不显示?

与SystemParametersInfo和布尔值pvParam参数混合

C#桌面应用程序的哪些框架适用于Windows XP或更高版本?

静态string使用File.ReadAllText

是否有一个原因MailItem.display方法的z顺序行为不同机器?

从Perl调用.NET

为什么在Windows7(.net 3.5)中运行的应用程序在Win8(.net4.5)中不起作用

找出如果一个进程中断了当前进程

就ASP.NET而言,您希望将Windows和表单身份验证混合使用。 没有简单的解决方案。 已经在这里讨论了可能的解决方法:

混合Windows身份验证与表单身份验证

Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation

Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation

我的开发设置:Mac OSX 10.7.4 / Apache 2.2.21 / PHP 5.3.10

我希望添加条件逻辑到我的.htaccess文件取决于开发与现场环境。 例如我想在活动服务器上进行身份validation,但不是在开发服务器上。 我在我的httpd.conf

SetEnv DEV 1

我已经确认这个var是通过检查PHPinfo()的输出来设置的。 然后在我的.htaccess文件中

htaccess在localhost中工作,但在EC2实例中不起作用

Laravel | 共享托pipe路线工作不正常

如何在.htaccess文件中限制/禁止访问特定的文件types,例如.js .css?

mod_rewrite:删除尾部斜线(只有一个!)

如何防止两个链接与.htaccess显示相同的内容?

<IfDefine !DEV> AuthType Basic AuthName "password protected" AuthUserFile /path/to/.htpasswd Require valid-user </IfDefine>

…但我仍然提示在我的本地开发密码。 看起来DEVvariables不可用于.htaccess 。 我的AllowOverride All设置在我的httpd.conf根目录的httpd.conf中。 有任何想法吗?

在apache中检查移动设备并redirect到移动网站

Apache文件夹没有显示出来

Prerender.io子页面redirect到索引

CSS,JS和图像不显示漂亮的url

htaccess可以读取在Apache中设置的服务器环境variables吗?

我从这个问题约4个小时开始新鲜了,我相信我有最后的答案,可以为大家总结如何解决这个特别痛苦的问题。

我使用Apache 2.2x和PHP 5.3作为我的开发机器的Windows 7家庭高级版。 我也想拥有一个DEV环境变量,我可以在我的.htaccess文件中使用它来关闭重写和其他指令,这些指令在我的开发环境中是无效的,但是对于我的生产环境是非常重要的。

我的.htaccess文件看起来像这样;

<IfDefine !__DEV__> AddType application/x-httpd-PHP53 .PHP </IfDefine>

HostGator告诉我,为了有PHP 5.3我需要修改我的htaccess文件这样启用它,否则我只会有PHP 5.2。 但是我已经在我的开发机器上拥有了它,所以这个指令导致我的客户网站在本地查看时崩溃。 我要解释的一切都使我可以在我的Git Repository中保存一个.htaccess文件,这个文件在两个位置都可以工作。

首先,让我清理/总结一下我在学习互联网时使用IfDefine和SetEnv解决这个问题的方法。

Apache中的IfDefine指令,只有,只有当我只说我只是意味着,响应在命令行传递的参数。 让我强调一点。 只有命令行!

SetEnv和SetEnvIf,是两个完全不同的东西。 一个(SetEnv)用于conf文件,设置在SERVER START TIME设置的环境变量(特定于apache)。 SetEnfIf用于REQUEST TIME,仅用于根据REQUEST变量确定要设置的内容。

IfDefine指令不读取由SetEnv或SetEnvIf设置的变量。 期。 没有任何争论,毫无疑问,没有“但我想……”否。 它没有,所以克服它。

最简单的答案是NO,你不能只使用httpd.conf中的“SetEnv DEV 1”,然后使用IfDefine在你的.htaccess文件中检测它,根据编程逻辑的语法和性质,这看起来很直观和合理我们习惯了。 回想一下,我们实际上并没有编程任何东西,这些都是配置文件,当然,他们也不符合这个期望,因为看起来他们应该这样做。

答案

所以这意味着我必须弄清楚如何给Apache添加一个启动参数,对于Linux专家来说,这个答案很容易得到,你只需要在envvars文件中添加正确的东西,但是我们可怜的windows junkies ?

对于Windows用户来说,由于以下原因,它变得更有趣:

Windows不允许你在Apache2.2的服务配置中永久添加启动参数(它不工作,不要尝试,我已经做了一百万次,相信我)。 这是真的,如果你进入并且试图放入你自己的参数,它只会工作一次,然后下次打开对话框时参数字段是空的。 我不知道为什么会出现这种情况,但似乎这些参数是用于测试的,而不是一个永久的修改。

安装Apache时,会在开始菜单中创建“开始”,“停止”和“重新启动”快捷方式,并安装Apache服务监视器。 但是开始菜单中的快捷方式使用的启动参数不同于apache服务监视器使用的启动参数。 所以,如果你使用这些方法的组合来启动/停止a​​pache,你将得到不同的结果,这取决于你使用的是什么方法。 但是,您可以将-D“__DEV__”放在开始菜单的快捷方式中,它将起作用!

解决这个问题的步骤

要永久和普遍地设置一个__DEV__环境变量,您可以在.htaccess文件中使用IfDefine来引用,在Windows开发环境中,无论您是使用服务启动Apache还是开始菜单中的快捷方式,或者使用NET START / STOP命令行,请执行以下操作:

打开开始菜单快捷方式的属性,并提取在那里启动Apache的命令。 我是 “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe”-w -n“Apache2.2”-k start

修改它以包含新的-D __DEV__变量,它必须在httpd.exe之后立即开始; “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe” -D“__DEV__”- w -n“Apache2.2”-k start

你的开始菜单的快捷方式现在将启动Apache与您的开发变量。

转到命令行(以管理员身份)

类型:净停止apache2.2(或任何您的服务名称是为Apache)

现在在命令行中输入(或复制粘贴)与上面的开始菜单快捷方式中使用的命令相同的命令,但进行以下更改; “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe”-D“__DEV__”-w -n“Apache2.2”-k config

请注意单词startconfig的更改。 这个神奇的命令所做的就是将你在屏幕上看到的设置保存到与Windows中的服务一起存储的设置中。 按Enter键。 从这一点开始,每当启动服务时,您的变量都会被传递,Apache服务监视器启动服务,或者Windows启动服务。

对不起,这部小说的每一个人,我都希望能够帮助别的疲惫的灵魂把这些信息加以总结和解释,我知道它会帮助我! :d

我的第一个答案的另一个选择是使用允许指令。

看看: http : //httpd.apache.org/docs/2.2/mod/mod_authz_host.html#allow

Order deny,allow Deny from all AuthType Basic AuthName "password protected" AuthUserFile /path/to/.htpasswd Require valid-user Allow from env=DEV Satisfy Any

这只会检查DEV是否存在的价值,这是如何Apache的工作。 将“允许”替换(或添加)为“允许来自127.0.0.1”,让您的本地主机始终处于开发模式。

这表明任何条件都可以接受,条件是:password或127.0.0.1。 如果你在本地主机上开发,你可以使用127.0.0.1,或者用你开发的任何IP代替。 这不需要被包裹在任何东西,只是放在你的htaccess文件。 我使用虚拟主机,所以我会把它放在那里。

来源(我改变它看起来你的原始代码): http : //www.askapache.com/htaccess/apache-authentication-in-htaccess.html#allow-conditional

2年,我有类似的问题。 具体而言,我们将自动部署到AWS OpsWorks堆栈,并且无法控制.htpasswd文件的放置(用于隐藏开发过程中的工作)。

我们最后的工作解决方案是沿着这个(Apache 2.2.25):

# check the host against a regex,defining env=DEV if it matches # this guy matches localhost,dev.project and 10.1.XX SetEnvIfNoCase Host "^(localhost|dev.project|10.1(.d+){2})$" DEV AuthType Basic AuthName "Restricted" # auth file location,in our case defined by an AWS OpsWorks auto-deployment # this only gets loaded if the regex above doesn''t match,which is handy AuthUserFile /srv/www/project/current/.htpasswd Require valid-user Satisfy any Order deny,allow Deny from all Allow from env=DEV

该解决方案足够灵活,可以在多个开发环境中进行访问,同时验证其他许多开发环境。 在git提交之前,不需要忽略或编辑htaccess。 一个环境变量可能看起来有点过分,但它允许一个正则表达式,也可以在其他地方使用。

请参阅: http : //httpd.apache.org/docs/2.2/howto/access.html

Debian / Ubuntu的解决方案:

在/etc/apache2/envars中必须改变:

## If you would like to pass arguments to the web server,add them below ## to the APACHE_ARGUMENTS environment. #export APACHE_ARGUMENTS=''''

## If you would like to pass arguments to the web server,add them below ## to the APACHE_ARGUMENTS environment. export APACHE_ARGUMENTS=''-D __DEV__''

现在可以使用了

<IfDefine !__DEV__> ... </IfDefine>

我喜欢回答问题,但快速的谷歌搜索给了我你的答案。 查看apache文档: http : //httpd.apache.org/docs/2.0/mod/core.html#ifdefine

IfDefine指令只能测试一个“参数名称”,而“参数名称”是启动时由httpd设置的一个变量。

也检查出这个网站,并向下滚动到表格: http : //turboflash.wordpress.com/2010/05/27/apache-environment-variables-visibility-with-setenv-setenvif-and-rewriterule-directives/

如果你刚刚开始你的开发网络服务器,你仍然可以问:

$ httpd -DDEV

这将定义变量DEV 。 请注意,你不需要设置任何东西,被定义基本上设置为1 / true。 如果它不存在就像被设置为false / 0 / null / etc …

总结

以上是小编为你收集整理的Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Apache HTTP客户端javax.net.ssl.SSLPeerUnverifiedException:对端未通过身份validation

Apache HTTP客户端javax.net.ssl.SSLPeerUnverifiedException:对端未通过身份validation

我们正在开发一个使用tomcat和jersey的应用程序。

在这个networking应用程序中,我们需要连接到一个valid ,没有过期的certificate的https Website 。 如果我通过我的Chrome浏览器在本地连接到本网站,一切正常! 不幸的是,我们的webapp的tomcat服务器抛出一个exception。 我们使用Apache HttpClient (4.0)连接到https站点:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:371) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:126) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572) at org.apache.http.impl.conn.DefaultClientConnectionoperator.openConnection(DefaultClientConnectionoperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)

服务器证书是绝对有效的,从thawte 。 三种不同的在线工具成功validation了证书。

Openssl也有一个问题,并向我展示了三个证书,但抛出了一个简单的错误:

Verify return code: 20 (unable to get local issuer certificate)

openssl的问题似乎是它使用错误的path/usr/lib/ssl而不是/etc/ssl/certs 。 如果我使用指向正确path的CApath参数,openssl工作正常,所以这可能是httpClient的问题?

所以我们的默认客户端代码非常简单:

使用ajp进行Spring Boot应用程序的Apache后面的Tomcat

无法find或加载主类org.apache.hadoop.util.VersionInfo

如何使用.htaccess服务gziped字体? (没有mod gzip或deflate)

我怎样才能看到有多less个MysqL连接打开?

Rails 3.1,Unicorn和Apache:静态文件

client = new DefaultHttpClient(); response = client.execute(url); //this throws the exception EntityUtils.consume(response.getEntity());

通过实现自定义的TrustedManager来允许任何证书不是一个选项! 还有,我读过,有些CA不是JDK / JRE的一部分,所以它的证书应该手动导入keystore或者使用自定义的证书,但是thawte是一个众所周知的CA,不应该在默认情况下工作?

编辑

我确实在catalina.sh中设置了javax.debug属性,这样我就可以得到关于这个问题的更多信息:

http-bio-8080-exec-1,handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation Failed: java.security.cert.CertPathValidatorException: basic constraints check Failed: pathLenConstraint violated - this cert must be the last cert in the certification path

我将不胜感激任何帮助! 提前致谢!

http:// localhost / PHPpgadmin / – > 403禁止

构build“大型”Rails应用程序的最佳实践

我们如何在同一台机器的Windows 7上运行Apache Http Server的两个实例

Django WGSIpath

.htaccess通过虚拟主机的基本身份validation?

好吧,我得到它的工作! 虽然thawte是一个众所周知的CA,但似乎Java SSL确实有一些问题。 通过openssl下载ssl证书后:

echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 | sed -ne ''/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p''

并将其保存到pem文件中,我手动导入到java密钥库中:

keytool -import -alias myAlias -file theCert.pem -keystore lib/security/cacerts

我不知道为什么Java SSL不能正确地验证thawte证书。

列出keystore显示我在标准密钥库中有7个thawte受信任的证书,但奇怪的是它没有工作,直到我手动导入pem文件

我想了解你的设置。 你有一个SSL证书(由Thwate发行),安装在tomcat中,你可以使用IE或者Firefox或者Chrome来访问你的站点。

但是当您尝试使用HttpClient访问它时,您会收到上述错误?

那是对的吗 ?

错误清楚地表明您的客户不信任CA. 但是,如果证书由Thwate签名(并且安装正确并且可以通过IE / Firefox等访问),那么它应该可以正常工作。

总结

以上是小编为你收集整理的Apache HTTP客户端javax.net.ssl.SSLPeerUnverifiedException:对端未通过身份validation全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Apache MyFaces Extensions Validator 1.1.1 发布

Apache MyFaces Extensions Validator 1.1.1 发布

Apache MyFaces Extensions Validator 是一个用以验证表单输入的一套MyFaces的扩展框架,基于Java的Annotation的技术编写。

1.1.1 版本的更新内容包括:

提升

  • [EXTVAL-7] - refactoring the core to get independent of cglib
  • [EXTVAL-20] - extension point for alternative (optional) configuration mechanisms

新特性

  • [EXTVAL-12] - zero configuration
  • [EXTVAL-13] - validation of custom annotations
  • [EXTVAL-14] - custom validation strategies for existing annotations
  • [EXTVAL-15] - pluggable validation logic
  • [EXTVAL-16] - pluggable message resolver
  • [EXTVAL-17] - join client-side validation mechanisms of existing component libs
  • [EXTVAL-18] - customizable name conventions
  • [EXTVAL-19] - dependency injection support
  • [EXTVAL-21] - annotations for standard validators
  • [EXTVAL-22] - cross(-component) validation
  • [EXTVAL-23] - validation based on jpa 1.0 annotations
  • [EXTVAL-24] - join validation
  • [EXTVAL-25] - skip validation support
  • [EXTVAL-26] - validation exception interceptor

关于使用openshift在Apache服务器上设置身份validation的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于AD /表单身份validation、Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation、Apache HTTP客户端javax.net.ssl.SSLPeerUnverifiedException:对端未通过身份validation、Apache MyFaces Extensions Validator 1.1.1 发布的相关信息,请在本站寻找。

本文标签: