版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要配置Nginx与Tomcat以实现通过自定义非443端口(例如81端口)访问HTTPS服务,并解决项目中CSS、JS等静态文件404的问题,请按照以下步骤操作:
编辑Nginx配置文件:
/etc/nginx/nginx.conf
或相应的.conf
文件。server {
listen 81 ssl;
server_name your_domain.com; # 替换为你的域名
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
location /test {
proxy_pass http://localhost:8080/test; # 假设Tomcat运行在8080端口,根据实际情况调整
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
处理静态资源问题:确保Nginx配置正确地转发到Tomcat上的静态资源。如果CSS、JS等文件返回404,检查以下几点:
重启Nginx:
sudo systemctl restart nginx
修改Tomcat的Connector配置:
server.xml
文件,找到或添加一个HTTPS Connector,设置其port为81(或您选择的非标准端口),并指向正确的SSL证书。<Connector port="81" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/path/to/your/certificate.p12"
type="PKCS12" password="your_password"/>
</SSLHostConfig>
</Connector>
注意:请根据您的证书类型调整certificateKeystoreFile
的路径和类型参数。
静态资源映射:确保Tomcat应用上下文和静态资源映射正确无误,避免因路径不匹配导致的404错误。
重启Tomcat: 根据您的系统和服务管理方式,执行相应命令重启Tomcat服务。
https://your_domain:81/test
,验证页面及其中的CSS、JS等静态资源是否能正常加载。通过上述步骤,您可以配置Nginx与Tomcat以通过自定义端口提供HTTPS服务,并解决静态资源404问题。