我在我的应用程序之外调用 REST APIS 并且我总是得到 p>
Allow-Origin' header is present on the requested resource (403 Forbidden).
我将我的 tomcat 服务器配置为允许来源。
与
ng serve --proxy-config proxy.conf.json
它工作正常但是之后
ng build --prod
我遇到了这个问题。那么为什么它使用 ng serve 而不是 ng build?这在我的服务器端不是问题,否则它不能与 ng 服务器或 http 请求等一起工作。我可以在这里做什么?
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="true">
<display-name>Apache TomEE</display-name>
<servlet>
<servlet-name>LoaderServlet</servlet-name>
<servlet-class>org.apache.tomee.loader.LoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>ServerServlet</servlet-name>
<servlet-class>org.apache.openejb.server.httpd.ServerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServerServlet</servlet-name>
<url-pattern>/ejb/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>InstallerServlet</servlet-name>
<servlet-class>org.apache.tomee.webapp.installer.InstallerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InstallerServlet</servlet-name>
<url-pattern>/installer</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>ServerServlet</web-resource-name>
<url-pattern>/ejb/*</url-pattern>
</web-resource-collection>
<!--<auth-constraint>
<role-name>developers</role-name>
</auth-constraint>-->
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Static Content</web-resource-name>
<url-pattern>/webjars/*</url-pattern>
</web-resource-collection>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomee-admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>tomee-admin</role-name>
</security-role>
</web-app>
最佳答案
我的 web.xml 文件。
<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?xml version="1.0" encoding="ISO-8859-1"?> -->
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>TestStatusServlet</servlet-name>
<servlet-class>com.qnium.yuuwallet.TestStatusServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestStatusServlet</servlet-name>
<url-pattern>/test-status/*</url-pattern>
</servlet-mapping>
<!-- Enable for Jetty -->
<filter>
<filter-name>cors-filter-jetty</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>GET,POST,HEAD</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>X-Requested-With,Content-Type,Accept,Origin</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cors-filter-jetty</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
关于angular - ng build --prod 允许缺少原点(404 禁止),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45613040/