我有一個在亞馬遜linux服務器上運行的grails應用程序,我有一個tomcat並在前面添加了一個apache以便將domain.com重定向到www.domain.com 。經過Google搜索後,我可以使其工作,但後來我意識到,當我嘗試domain.com時,它被重定向到www.domain.com//(最後兩個斜槓)。再次谷歌搜索我可以使它與下面的配置,位於/etc/httpd/conf.d一個tomcat.conf文件工作:apache在tomcat和重定向工作不正常
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias domain.com
ProxyRequests Off
ProxyPreserveHost On
ErrorLog /var/log/httpd/tomcat.error.log
CustomLog /var/log/httpd/tomcat.log combined
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass/ajp://localhost:8009/
ProxyPassReverse/ajp://localhost:8009/
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^/(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>
的問題是,現在有時候一切正常,但有時當我去domain.com我得到一個下載框,要求下載一個DMS文件,有時它可以工作,但顯示了兩個斜槓,而且它也發生了,當我進入domain.com它被轉換爲www.www.domain.com(兩個萬維網),所以不知道它是什麼使這項工作很好,有時甚至沒有。
望着Tomcat的日誌,我可以看到這個,我認爲這可能是相關的:
Jul 05, 2016 11:02:20 PM org.apache.coyote.AbstractProcessor setErrorState
INFO: An error occurred in processing while on a non-container thread. The connection will be closed immediately
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
編輯2:我刪除了行做從domain.com重定向到www.domain.com和我仍然遇到這個問題,隨機我要求下載文件而不是顯示站點,並且我可以在JS控制檯中看到下一條消息: 將資源解釋爲文檔,但是使用MIME類型application/octet-流:「domain.com」
編輯:只是爲了澄清,我改變了我的域名在這個職位的通用'域'
您是否嘗試清除瀏覽器緩存? –
是的,我不認爲它的緩存相關,錯誤發生隨機 – nelson687
我不太確定它的一個tomcat問題Apache是前端,並在將它傳遞給tomcat之前接收請求。任何重定向等都將由apache處理。但是,tomcat配置可能存在另一個問題。我不使用tomcat太多,所以幫不了那裏。 –