我的项目有问题,它是用角靴和弹簧靴制成的。 Angular部分,将请求发送到后端。所以我现在有两个环境,第一个是开发环境,第二个是暂存环境。因此,总体项目在开发过程中起作用,而在过渡阶段项目没有起作用。消息错误为(在chrome浏览器中):
Mixed Content: The page at 'https://staging.server.com.br/srsan/cadastros/locais' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://staging.server.com.br:7434/public/api/v1/localidades/all'. This request has been blocked; the content must be served over HTTPS.
后端工作正常,我在邮递员中进行了测试。
因此在enviroment.hom.ts中不起作用的代码是(前端):
import { dynamicValues } from './dynamic-values';
export const environment = {
dynamicValues,
env: 'staging',
production: false,
baseHref: '/srsan/',
debug: false,
api: { appBackend: 'http://staging.server.com.br:7434/public/api/' }
};
开发中的代码是(正常工作):
import { dynamicValues } from './dynamic-values';
export const environment = {
dynamicValues,
production: false,
baseHref: '/srsan/',
debug: false,
api: { appBackend: 'http://develops.server.com.br:7434/public/api/' }
};
我在阶段中切换到https,但是错误仍然存在。
调用后端的示例代码:
private API_URL: string =environment.api.appBackend+'v1/item-pauta'
constructor(private http: HttpClient) {}
loadAllItens(): Observable<ItemPautaResource[]> {
return this.http.get<ItemPautaResource[]>(this.API_URL + "/all")
.pipe(catchError(this.processarErros));
}
package.json包含以下部分:
"scripts": {
"ng": "ng",
"clean": "node ./node_modules/.bin/shx rm -rf dist",
"generate-version-file": "node ./build-tasks/build-pre $1",
"start": "npm run generate-version-file -- --env=dev && ng serve",
"build": "npm run generate-version-file -- --env=dev && ng build",
"build:dev": "npm run generate-version-file -- --env=dev && ng build --configuration=development --base-href=/srsan/",
"build:hom": "npm run generate-version-file -- --env=stage && ng build --configuration=stage --base-href=/srsan/",
"build:prod": "npm run generate-version-file -- --env=prod && ng build --prod --base-href=/srsan/",
"build:stats": "npm run generate-version-file && ng build --prod --stats-json",
"build:pack": "cd dist && shx mv srsan-webapp srsan && bestzip srsan.zip srsan/*",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"bundle-report": "npm run build:stats && webpack-bundle-analyzer dist/srsan-webapp/stats.json"
},
因此,我使用命令npm build:dev
或npm build:hom
来构建应用程序;
答案 0 :(得分:1)
我通过将所有请求重定向到服务器配置中的https来解决了这个问题。