此处将为大家介绍关于iframe为我的DominoXPages解决方案提供问题的详细内容,并且为您解答有关使用Nginx代理添加JS代码以使用http重定向的相关问题,此外,我们还将为您介绍关于App
此处将为大家介绍关于iframe 为我的 Domino XPages 解决方案提供问题的详细内容,并且为您解答有关使用 Nginx 代理添加 JS 代码以使用 http 重定向的相关问题,此外,我们还将为您介绍关于AppEngine Node.js未将HTTP重定向到HTTPS、html – Chrome iFrame阻止HTTPS重定向、HTTP到https重定向(tomcat / jboss)、HTTP在nginx.conf中重定向到HTTPS的有用信息。
本文目录一览:- iframe 为我的 Domino XPages 解决方案提供问题(使用 Nginx 代理)添加 JS 代码以使用 http 重定向(而站点是 https)
- AppEngine Node.js未将HTTP重定向到HTTPS
- html – Chrome iFrame阻止HTTPS重定向
- HTTP到https重定向(tomcat / jboss)
- HTTP在nginx.conf中重定向到HTTPS
iframe 为我的 Domino XPages 解决方案提供问题(使用 Nginx 代理)添加 JS 代码以使用 http 重定向(而站点是 https)
可以尝试使用sub_filter模块重写内容:
sub_filter_once on;
sub_filter_types text/html;
sub_filter '<script type="text/javascript">if(!navigator.cookieEnabled)window.location.href="http://' '<script type="text/javascript">if(!navigator.cookieEnabled)window.location.href="https://';
,
我遇到了同样的问题。使用反编译器,我在代码中找到了添加的地方。 您可以在 ExternalContextEx 上设置一个属性,以避免添加脚本标记。
我在我的应用程序的自定义 ViewHandler(重载 createView 方法)中执行此操作,但您也可以在 XPage 的 beforePageLoad 事件中执行此操作。
在我的代码中,如果 SessionID-cookie 未设置,我只会覆盖它,以防它做了我不知道的其他事情。到目前为止,没有任何问题。
HttpServletRequest httpServletRequest = (HttpServletRequest) facesContext.getExternalContext().getRequest();
if( !httpServletRequest.isRequestedSessionIdFromCookie() ) {
ExternalContextEx externalContext = (ExternalContextEx) facesContext.getExternalContext();
externalContext.setDonotEncodeUrl( false );
}
AppEngine Node.js未将HTTP重定向到HTTPS
您需要为每个handler that this behavior添加secure: always
。请注意,您有两个具有相同- url: /.*
的处理程序。该网址的最后一个定义没有secure
参数。
html – Chrome iFrame阻止HTTPS重定向
在网络流量中查看请求确认浏览器正在请求https,但chrome仍然取消请求,因为我无法加载混合(http)内容.
到目前为止,所有搜索都让我想到加载混合内容的人,这不是这里的情况.
作为参考,这是铬错误:
混合内容:“https://a.company/foo”页面是通过HTTPS加载的,但是请求了一个不安全的资源“http:/b.company/bar”.此请求已被阻止;内容必须通过HTTPS提供.
实际的帧源是https:/b.company/foo,它可能重定向到https:/b.company/bar.如果页面没有重定向,则不会发生错误.
解决方法
如前所述:您不允许在https服务的网站中加载不安全的http内容,因为它会危及安全性.无论如何,如果您尝试这样做,Chrome会阻止它并抛出前面提到的错误.
确保您确实通过https请求的第一步是检查iframe中的URL,该URL应如下所示:
<iframe src="https://foobar.com"></iframe> ↑ this needs to be https
现在获取确切的URL并将其粘贴到任何浏览器中,以查看适用的规则.如果以任何方式重定向,则可能在重定向之后或之间使用不安全的http连接.他们甚至可能有一个直接的https-to-http规则(不太可能).还要检查控制台,因为他们可能会尝试在其https服务页面中加载不安全的内容,这可能会导致您的错误.如果您发现其中一件事但是您无法访问服务器,那么您的旅程将在此结束,除非您想要如此糟糕地提供该内容,以至于您愿意自己使用http.
另一方面,如果您有权访问服务器,则可以删除这些重定向或检查其配置.由于有许多不同的Web服务器,操作系统和配置,我不会尝试提供一般教程,但使用您选择的搜索引擎应该不难找到.
一般来说:如果要加载的内容仅通过https提供,则可以使用.
当浏览器中的所有内容似乎都正常工作(没有可见的重定向)并且您仍然会收到错误时,您可以使用Wireshark或其他工具来记录您的流量.可能是错误配置的https以某种方式混淆了Chrome不喜欢的握手.将这些日志发布到SO或共享您要在iframe中显示的网站,以便我们可以进一步分析它,因为它不太可能存在一般解决方案.
HTTP到https重定向(tomcat / jboss)
我们想将所有来自应用程序http URL的流量重定向到https,为此,我们在deploy / jboss-web.deployer /
conf目录的web.xml中设置以下值。
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
这确实将用户成功重定向到https位置,但是他们使用的端口与deploy / jboss-web.deployer路径中server.xml中配置的端口不同
<Connector port="8381" address="${jboss.bind.address}"
maxThreads="350" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8543" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" compression="on" />
<!-- Define a SSL HTTP/1.1 Connector on port 8643
This connector uses the JSSE configuration,when using APR,the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!---->
<Connector port="8543" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${jboss.server.home.dir}/conf/localhost.keystore"
keystorePass="changeit"
/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
emptySessionPath="true" enableLookups="false" redirectPort="8543" />
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="data1">
我们将https端口设置为8543,然后该端口工作了,但是当用户访问http
URL时,将用户重定向到的https端口为8744(当我们在server.xml中设置8744时,它可以正常工作),但是我们可以找不到8744端口在哪里,有人知道如何配置web.xml中第一个提到的代码重定向到哪个端口
另一个查询是,当我们将此配置投入生产时,https端口将为“ 443”,我们需要知道将“ security-
constraint”条目重定向到何处设置443。访问http://www.data.com会重定向到https://www.data.com然后
问候,米林达
HTTP在nginx.conf中重定向到HTTPS
我自定义了您的docker-compose-yml。
-
您的docker-compose.yml不适用于https,因为某些部分错误或缺失。
-
要使用HTTPS,必须使用Openssl创建证书。这些必须位于容器中的/ etc / nginx / certs文件夹中。
-
将证书放入文件夹时,必须设置-VIRTUAL_PORT = 8080到443,并将APP_URL从http更改为https
-
启动服务并将其分配给网络“ web”时,nginx会自动看到已注册新服务。它会自动映射到映像中指定的端口。这是通过音量命令“ /tmp/docker.sock:ro”发生的。 “:ro”代表只读
-
如果您将服务分配给网络“内部”,则无法从外部访问该服务,Nginx将忽略该服务。请参阅“ mysql”服务。
-
对于“ depends_on:”,我说所有服务都必须在书架开始之前启动。这个很重要!首先是Nginx,然后是MySql,最后是书库。
-
我更喜欢在其自己的本地域上使用VIRTUAL_HOST。您也可以在那里使用localhost,唯一重要的是操作系统中的“主机”文件指向您的外部Docker IP。例如:“ 192.168.5.121 bookstack.local”
-
我的小费!我会将服务“ nginx--proxy”存储在单独的docker-compose文件中。然后,您可以轻松地在nginx中注册其他服务。
祝您好运,如果您只想在本地使用Bookstack,那么现在HTTPS可能就不再那么紧迫了。否则,搜索“为Nginx本地创建证书”
在开始创建网络“ web”之前:
docker network create web
version: '2.4'
services:
mysql:
image: mysql:5.7.21
container_name: bookstack-mysql
restart: unless-stopped
networks:
- "internal"
healthcheck:
test: "exit 0"
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=admin
volumes:
- ./docker/data/mysql:/var/lib/mysql
bookstack:
image: solidnerd/bookstack:0.29.3
container_name: bookstack
restart: unless-stopped
networks:
- "web"
- "internal"
depends_on:
nginx--proxy:
condition: service_started
mysql:
condition: service_healthy
environment:
- VIRTUAL_HOST=bookstack.local
- VIRTUAL_PORT=8080
- DB_HOST=mysql:3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=admin
- APP_URL=http://bookstack.local
volumes:
- ./docker/data/uploads:/var/www/bookstack/public/uploads
- ./docker/data/storage-uploads:/var/www/bookstack/storage/uploads
nginx--proxy:
image: jwilder/nginx-proxy:latest
container_name: nginx--proxy
restart: always
environment:
DEFAULT_HOST: default.vhost
ports:
- "80:80"
- "443:443"
volumes:
- ./docker/data/certs:/etc/nginx/certs
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- "web"
- "internal"
networks:
web:
external: true
internal:
external: false
,
该解决方案对我有用:-
在docker-compose.yml中的nginx服务部分添加了networks标签-
networks:
- bookstack-bridge
然后在nginx.conf中添加了proxy_pass as-
proxy_pass http://bookstack:8080;
谢谢你们的帮助。
今天关于iframe 为我的 Domino XPages 解决方案提供问题和使用 Nginx 代理添加 JS 代码以使用 http 重定向的介绍到此结束,谢谢您的阅读,有关AppEngine Node.js未将HTTP重定向到HTTPS、html – Chrome iFrame阻止HTTPS重定向、HTTP到https重定向(tomcat / jboss)、HTTP在nginx.conf中重定向到HTTPS等更多相关知识的信息可以在本站进行查询。
本文标签: