我在我的网站上安装了SSL。 我写了一个java web服务,并将其部署在public_html / WEB-INF / service文件夹中。 现在我可以通过http访问我的服务(如http://www.mydomain.com/services/myWebService?wsdl ),但是当我通过https尝试时,它给了我错误404。
这是虚拟主机configuration
<VirtualHost 44.123.123.123:443> ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /home/accountName/public_html ServerAdmin [email protected] UseCanonicalName Off CustomLog /usr/local/apache/domlogs/mydomain.com combined CustomLog /usr/local/apache/domlogs/mydomain.com-bytes_log "%{%s}t %I .\n%{%s}t %O ." ## User accountName # Needed for Cpanel::ApacheConf <IfModule mod_suphp.c> suPHP_UserGroup accountName accountName </IfModule> <IfModule !mod_disable_suexec.c> <IfModule !mod_ruid2.c> SuexecUserGroup accountName accountName </IfModule> </IfModule> <IfModule mod_ruid2.c> RUidGid accountName accountName </IfModule> ScriptAlias /cgi-bin/ /home/accountName/public_html/cgi-bin/ SSLEngine on SSLCertificateFile /etc/ssl/certs/www.mydomain.com.crt SSLCertificateKeyFile /etc/ssl/private/www.mydomain.com.key SSLCACertificateFile /etc/ssl/certs/www.mydomain.com.cabundle CustomLog /usr/local/apache/domlogs/mydomain.com-ssl_log combined SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown <Directory "/home/accountName/public_html/cgi-bin"> SSLOptions +StdEnvVars </Directory> # To customize this VirtualHost use an include file at the following location Include "/usr/local/apache/conf/userdata/ssl/2/accountName/mydomain.com/*.conf" </VirtualHost>
我是否也必须为服务configurationSSL? 我错过了什么?
谢谢
你写道你试图通过URL http://www.mydomain.com/services/myWebService?wsdl访问服务器,并且它安装在public_html/WEB-INF/service 。 这两个不匹配; path中缺less一个或者在URL中有一个额外的s 。
但是,如果我们假设path应该包含s ,则问题出在您的VirtualHost设置上:
DocumentRoot /home/accountName/public_html
如果您的文件位于/home/accountname/public_html/WEB-INF/services ,那么您需要使用URL https://www.mydomain.com/WEB-INF/services/myWebService?wsdl ,或者您需要将您的DocumentRoot更改为/home/accountName/public_html/WEB-INF 。 现在设置的方式是,服务器正在/home/accountName/public_html/services寻找您的网站,而不是在/home/accountName/public_html/WEB-INF/services寻找您的网站。
为了使SSL看起来像HTTP版本一样,最好的build议是获取两个虚拟主机文件,并运行diff vh-http.conf vh-ssh.conf来查看有什么不同。 您可以忽略所有使用SSL的行,但如果其他情况不同,那可能是您的问题所在。