Java Web 服務適用於 http,但不適用於 https
我在我的網站上安裝了 SSL。我編寫了一個 java web 服務並將其部署在 public_html/WEB-INF/service 文件夾中。現在我可以通過 http 訪問我的服務(例如http://www.mydomain.com/services/myWebService?wsdl),但是當我通過 https 嘗試它時,它給了我錯誤 404。
這是虛擬主機配置
<VirtualHost 44.123.123.123:443> ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /home/accountName/public_html ServerAdmin webmaster@mydomain.com 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>
我是否也必須為服務配置 SSL?我錯過了什麼?
謝謝
您寫道您嘗試使用該 URL 訪問伺服器
http://www.mydomain.com/services/myWebService?wsdl
,並且它已安裝在public_html/WEB-INF/service
. 這兩個不匹配;路徑中s
缺少或s
URL 中有多餘內容。但是,如果我們假設路徑應該包含
s
,則問題出在您的 VirtualHost 設置上:DocumentRoot /home/accountName/public_html
如果您有文件
/home/accountname/public_html/WEB-INF/services
,那麼您需要使用 URLhttps://www.mydomain.com/WEB-INF/services/myWebService?wsdl
,或者您需要將 DocumentRoot 更改為/home/accountName/public_html/WEB-INF
. 現在的設置方式是,您的伺服器正在尋找您的網站 in/home/accountName/public_html/services
而不是 in/home/accountName/public_html/WEB-INF/services
。讓 SSL 看起來像 HTTP 版本的最佳建議是獲取兩個虛擬主機文件,然後執行
diff vh-http.conf vh-ssh.conf
以查看有什麼不同。您可以使用 SSL 忽略所有行,但如果有其他不同之處,那很可能是您的問題所在。