• 最近遇到几个小问题总结


    一、Tomcat配置SSL证书实现局域网下 https 访问

     申请好的证书。

    1.修改 conf/server.xml

    • 修改 tomcat 访问端口,将 8080 改为 80,在浏览器访问时不需要添加端口。将 redirectPort="8443"的端口改为 443,因为 https 的端口为 443。最终修改内容如下:
    1. <Connector port="80" protocol="HTTP/1.1"
    2. connectionTimeout="20000"
    3. redirectPort="443" />

    添加 ssl证书和密码,将 port 值改为 443,keystoreFile 的值为之前生成的 *.pfx文件,keystorePass的值为生成.pfx文件时输入的密码,keystoreType 的值为 pfx-password.txt 的内容,最终修改内容如下:

    1. <Connector port="443"
    2. protocol="org.apache.coyote.http11.Http11Protocol"
    3. SSLEnabled="true"
    4. scheme="https"
    5. secure="true"
    6. keystoreFile="D:\mkcert\mycert.pfx"
    7. keystoreType="PKCS12"
    8. keystorePass="123123"
    9. clientAuth="false"
    10. SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    11. ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

    2.修改 conf/web.xml

    在 conf/web.xml的最底部,welcome-file-list 下面添加如下内容,可从 http 跳转到 https

    1. <login-config>
    2. <auth-method>CLIENT-CERTauth-method>
    3. <realm-name>Client Cert Users-only Arearealm-name>
    4. login-config>
    5. <security-constraint>
    6. <web-resource-collection >
    7. <web-resource-name >SSLweb-resource-name>
    8. <url-pattern>/*url-pattern>
    9. web-resource-collection>
    10. <user-data-constraint>
    11. <transport-guarantee>CONFIDENTIALtransport-guarantee>
    12. user-data-constraint>
    13. security-constraint>

    3. 重启tomcat后,访问即可

    遇到问题

    升级到https后,有些静态资源,好像无法访问了,找不到相应的静态资源。

    将这些静态资源改成http

     报混合内容异常错误。

    https不允许同一页面中,出现http的请求。

    二、关于Iframe如何跨域访问Cookie和Session的解决方法 

    项目中涉及到iframe传递cookie信息的。

    子iframe一直没有获取到上层传递的cookie信息,导致需要重新登录。

    最后注意到项目里的一个配置。

    这个配置的意思是设置cookie的域,只有以yto56.com.cn结尾的域名,才能共享cookie。

     

  • 相关阅读:
    Linux多线程编程- 条件变量(Conditional variable)
    Web Components详解-Shadow DOM插槽
    ACTF 2022圆满落幕,0ops战队二连冠!!
    qt报错Project ERROR: Cannot run compiler ‘cl‘. Output:
    C++进制转换
    VC6实用工作开发环境整理
    线程 yield()方法有什么用?
    String Boot项目加密混淆组件xjar+allatori组合使用
    大学毕业去什么样的公司工作不后悔?
    API 接口参数签名的几种方案
  • 原文地址:https://blog.csdn.net/songkai558919/article/details/126610952