我有一个运行在Tomcat上的Java webservice( /opt/tomcat8/webapps/mysvr ),通过url http://mysvr.example.com访问。 使用/etc/httpd/conf/httpd.conf的以下configuration可以正常工作。 <VirtualHost *:80> ServerName mysvr.example.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/mysvr/ ProxyPassReverse / http://localhost:8080/mysvr/ </VirtualHost> 另外,要使用URL http://mysvr.example.com/results/来映射/var/www/html/mysvr/results ,其中我存储了一些txt文件,以便URL http://mysvr.example.com/results/1.txt下载/var/www/html/mysvr/results/1.txt 。 我的服务器是Red Hat上的AWS EC2。 我怎样才能做到这一点?
我们有一个生产Apache Tomcat的服务器,通过它服务一些网站。 这些网站已经开始申请有效的SSL证书。 我们对服务器上的有效IP数量有一些限制。 另一方面,我们已经阅读了最近的SSL版本中的服务器名称指示(SNI),这似乎是所有主要的Web浏览器都支持的,并且使我们能够在一个IP地址上拥有多个启用SSL的站点。 问题是Apache Tomcat在其稳定版本中不支持SNI,也不支持像WebLogic这样的主stream商业服务器。 毕竟,SNI能否被视为这个问题的成熟解决scheme呢? 谢谢。
我有一个Centos 6.5,而且我在Tomcat上运行Vaadin,这个应用程序对报表和东西的查询非常重要。 我的问题是,当我从PHP连接到MYSQL时,当我做了一个小的查询时,来自PHP的查询总是等待在Tomcat上请求Vaadin的大量查询。 我尽我所能来解决这个问题。 我认为这可能是一个Apache的问题,我和Apache一起安装和configurationnginx,尝试在nginx上进行php查询(当然,端口改变了,在81上),单独的为Vaadin分开Apache。 有任何想法吗 ???
我已经在DigitalOcean上安装了Ubuntu 15.10 x64服务器来testing几个Java应用程序。 我安装了Nginx 1.9.3和Tomcat8,并使用Nginx作为反向代理,将所有请求转发到端口8080上的Tomcat。 这是事情变得危险的地方。 我在我的tomcat安装上运行了两个应用程序,/ webapp1&/ webapp2。 我想指出subdomain.domain.com到/ webapp1和subdomain2.domain.com到/ webapp2。 在Apache中,这是一个相当简单的使用mod_proxy的事情,但对于Nginx来说,这有点神秘。 到目前为止,这是我在我的网站启用/域文件尝试。 第一轮 server{ server_name subdomain1.domain.com; # ******************SSL configuration ************************ listen 443 ssl default_server; ssl_certificate /etc/nginx/conf/ssl/domain.crt; ssl_certificate_key /etc/nginx/conf/ssl/domain.key; #********************************************************************* #**********Proxy********************** location / { proxy_redirect off; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://subdomain1.domain.com:8080/webapp1/; } 这些请求在我访问https://subdomain1.domain.com时起作用,但是在我的应用程序中引用上下文path的任何链接(例如/ webapp1 /)导致包含两个上下文path(例如https://subdomain1.domain)的url。 com / webapp1 […]
我有一个服务于Web应用程序的Tomcat服务器,我有一个运行在它前面的Nginx服务器作为反向代理。 作为对我之前的问题( Tomcat服务器背后的nginx反向代理 – 如何阻止直接访问服务器? )的答案,我被build议防火墙的Tomcat实例,但根据我从不同论坛的调查结果,限制Tomcat听本地主机似乎是要走的路。 为了防止Tomcat侦听到其他IP,我在连接器configuration中添加了“address = 127.0.0.1”。 整个连接器块是这样的 – <Connector port="8080" address="127.0.0.1" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" proxyName=<FQDN> proxyPort="80"/> 在Nginx服务器中,我有这些线路用于服务器configuration。 server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name <FQDN>; location / { proxy_pass <FQDN>; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for; } } 现在,如果我尝试使用FQDN访问Web应用程序,Chrome会报告ERR_CONNECTION_REFUSED。 […]
我有一台运行Solaris 10的服务器。它报告70 + GiB免费RAM。 我试图在64位模式下使用Java 1.7.0_80启动Tomcat 7.0.68。 服务器声称它不能分配RAM的717 MiB。 每次尝试时都会得到一个hs_err_pidxxx.log文件。 这表明了这一点: # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (malloc) failed to allocate 717225984 bytes for committing reserved memory. # Possible reasons: # The system is out of physical RAM or swap space 不,有70个GiB可用,它正在尝试分配700个MiB。 # In 32 […]
我刚刚部署了tomcat 9,我想检查catalina.out日志,因为它正在运行,但是我注意到停止时它会将日志输出转储到catalina。[date] .txt文件中。 是否有一些额外的configuration要做到实时logging到catalina.out?
我在惠普服务器上安装了一个应用程序,该服务器本身安装了apache 2.4 web服务器。我给这个应用程序提供了ipv4地址。 但我检查了服务器中的这个服务的状态。我发现Apache Web服务器正在侦听ipv6types,并在端口80和443。 我不明白是否有任何问题,因为应用程序有ipv4 ip和服务正在监听ipv6。 服务器有RHEL 6.5
我的公司已经向默认使用http的客户提供了基于Tomcat / MySQL的应用程序。 在客户的要求下,我通过创build一个自签名证书来启用它。 这在使用自签名证书时受到预期的浏览器错误的影响。 在笔testing后,他们决定我们需要禁用一些弃用的SSL协议和密码,所以我修改了我的tomcat server.xml中的ssl连接器,如下所示: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_WITH_AES_128_GCM_SHA256" keystoreFile="/path/to/keystore/file" keystorePass="password" /> 这满足了笔testing和应用程序继续在所有三个主要的浏览器(铬,火狐和IE)工作。 然而,钢笔testing也标志着我们理想情况下不应该使用自签名证书,所以通过遵循这些 指南 ,我创build了一个CSR,并让客户创build一个签名到他们内部域的证书(服务器可以被访问几个不同的URL,因此需要创build一个与SAN的CSR)。 我将证书添加到一个新的密钥库,并适当地修改了server.xml文件中的path。 现在,当我尝试连接时,我得到以下错误(这是来自Firefox,但所有浏览器产生类似的错误): 安全连接失败 连接到172.31.1.36:8443期间发生错误。 无法与对等端安全通信:没有常用的encryptionalgorithm。 错误代码:SSL_ERROR_NO_CYPHER_OVERLAP 您尝试查看的页面无法显示,因为收到的数据的真实性无法validation。 请联系网站所有者告知他们这个问题。 我的理解是,证书不能控制什么密码或协议应该使用,所以我不明白为什么会发生这种情况。 这是我在制作CSR时犯的一个错误,还是客户在生成证书时犯的错误? -编辑- 我似乎在任何地方都会遇到错误。 如果我试图将密钥导入到密钥库,我得到这个: cat <keyfile> | openssl pkcs12 -export -out <keystore>.p12 Enter pass phrase: unable to load certificates 或这个: keytool […]
我在Debian Jessie上做了一个vanilla apt-get install tomcat。 当我试图启动服务失败(默默地,即使它说成功了)。 通过在线进行研究并查看日志,我可以确定tomcat在启动过程中正在“BASE”(/ usr / share / tomcat7)中查找各种文件夹(example / server / classes)在/ var / lib / tomcat7中。 通过在/ usr / shared中精心创build手动链接,我能够成功地让tomcat启动并提供http请求。 我的问题是,解决这个问题的正确方法是什么? 应该有一些聪明的方式(即比我所做的更聪明)来configuration这个…